six-degrees 0.2.0 → 0.3.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +10 -0
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +39 -11
- package/.next/standalone/.next/required-server-files.json +4 -1
- package/.next/standalone/.next/routes-manifest.json +60 -0
- package/.next/standalone/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/_not-found.html +1 -1
- package/.next/standalone/.next/server/app/_not-found.rsc +11 -11
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +9 -9
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/api/admin-delete/route.js +3 -2
- package/.next/standalone/.next/server/app/api/admin-delete/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/admin-update/route.js +3 -2
- package/.next/standalone/.next/server/app/api/admin-update/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/bridges/route.js +3 -2
- package/.next/standalone/.next/server/app/api/bridges/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/bulk-import/route.js +3 -2
- package/.next/standalone/.next/server/app/api/bulk-import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/company-scores/legacy/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/company-scores/legacy/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/company-scores/legacy/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js +9 -0
- package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/company-scores/legacy/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/company-scores/route.js +3 -2
- package/.next/standalone/.next/server/app/api/company-scores/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/connections/route.js +3 -2
- package/.next/standalone/.next/server/app/api/connections/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/export/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/data/export/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/data/export/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/data/export/route.js +7 -0
- package/.next/standalone/.next/server/app/api/data/export/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/data/export/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/data/export/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/data/import/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/data/import/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/data/import/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/data/import/route.js +8 -0
- package/.next/standalone/.next/server/app/api/data/import/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/data/import/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/data/import/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/data/restart/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/data/restart/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/data/restart/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/data/restart/route.js +8 -0
- package/.next/standalone/.next/server/app/api/data/restart/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/data/restart/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/data/restart/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/data/reveal/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/data/reveal/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/data/reveal/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/data/reveal/route.js +7 -0
- package/.next/standalone/.next/server/app/api/data/reveal/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/data/reveal/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/data/reveal/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/data/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/data/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/data/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/data/route.js +7 -0
- package/.next/standalone/.next/server/app/api/data/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/data/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/delete-cluster/route.js +3 -2
- package/.next/standalone/.next/server/app/api/delete-cluster/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/ingest/route.js +2 -2
- package/.next/standalone/.next/server/app/api/ingest/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/network/route.js +3 -2
- package/.next/standalone/.next/server/app/api/network/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/notifications/route.js +3 -2
- package/.next/standalone/.next/server/app/api/notifications/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/outreach/route.js +3 -2
- package/.next/standalone/.next/server/app/api/outreach/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/queue/route.js +3 -2
- package/.next/standalone/.next/server/app/api/queue/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/scraper/route.js +3 -2
- package/.next/standalone/.next/server/app/api/scraper/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/settings/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/settings/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/settings/route.js +9 -0
- package/.next/standalone/.next/server/app/api/settings/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/settings/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/settings/sector-preview/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/settings/sector-preview/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/settings/sector-preview/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js +8 -0
- package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/settings/sector-preview/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js +8 -0
- package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/setup-profile/route.js +3 -2
- package/.next/standalone/.next/server/app/api/setup-profile/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/unlock/route.js +3 -2
- package/.next/standalone/.next/server/app/api/unlock/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/update/route.js +1 -1
- package/.next/standalone/.next/server/app/api/update/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/update-images/route.js +3 -2
- package/.next/standalone/.next/server/app/api/update-images/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/users/route.js +3 -2
- package/.next/standalone/.next/server/app/api/users/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/avatars/[file]/route.js +2 -1
- package/.next/standalone/.next/server/app/avatars/[file]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/favicon.ico/route.js +2 -1
- package/.next/standalone/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/import/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/import/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/import.html +1 -1
- package/.next/standalone/.next/server/app/import.rsc +13 -13
- package/.next/standalone/.next/server/app/import.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/import.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/import.segments/import/__PAGE__.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +13 -13
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/launch/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/launch/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/launch.html +2 -2
- package/.next/standalone/.next/server/app/launch.rsc +13 -13
- package/.next/standalone/.next/server/app/launch.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/launch.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/launch.segments/launch/__PAGE__.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/paths/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/paths/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/paths.html +1 -1
- package/.next/standalone/.next/server/app/paths.rsc +13 -13
- package/.next/standalone/.next/server/app/paths.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/paths.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/paths.segments/paths/__PAGE__.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/profile/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/profile/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/profile.html +1 -1
- package/.next/standalone/.next/server/app/profile.rsc +13 -13
- package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/profile.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/profile.segments/profile/__PAGE__.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/queue/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/queue/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/queue.html +1 -1
- package/.next/standalone/.next/server/app/queue.rsc +13 -13
- package/.next/standalone/.next/server/app/queue.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/queue.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/queue.segments/queue/__PAGE__.segment.rsc +11 -11
- package/.next/standalone/.next/server/app/settings/page/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/settings/page/build-manifest.json +20 -0
- package/.next/standalone/.next/server/app/settings/page/next-font-manifest.json +11 -0
- package/.next/standalone/.next/server/app/settings/page/react-loadable-manifest.json +1 -0
- package/.next/standalone/.next/server/app/settings/page/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/settings/page.js +13 -0
- package/.next/standalone/.next/server/app/settings/page.js.map +5 -0
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/settings.html +1 -0
- package/.next/standalone/.next/server/app/settings.meta +26 -0
- package/.next/standalone/.next/server/app/settings.rsc +24 -0
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +24 -0
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +4 -0
- package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +28 -0
- package/.next/standalone/.next/server/app/setup/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/setup.html +1 -1
- package/.next/standalone/.next/server/app/setup.rsc +13 -13
- package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +13 -13
- package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +11 -11
- package/.next/standalone/.next/server/app-paths-manifest.json +10 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-rnla2._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__00la_y0._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__07t47cm._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cj5jqc._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e0fei3._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0i5hdu4._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljcioj._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljnyho._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o5-tcg._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qrnous._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t3v1a1._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0uag-k5._.js +8 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0um1uey._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wmexuc._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xu34sz._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__133knx1._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__14ou7j5._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__15-17hl._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__16iu0hv._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__19b7mig._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1bbcwub._.js +8 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1eris29._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1gjo_cq._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1kbl21f._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qcm08_._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1rphsdk._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1t3rugi._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1w25q0m._.js +3 -0
- package/.next/standalone/.next/server/chunks/_072jl0y._.js +3 -0
- package/.next/standalone/.next/server/chunks/_0lw8_i0._.js +3 -0
- package/.next/standalone/.next/server/chunks/_1_fynia._.js +21 -3
- package/.next/standalone/.next/server/chunks/_1fn30_l._.js +3 -0
- package/.next/standalone/.next/server/chunks/_1itd1o_._.js +2 -1
- package/.next/standalone/.next/server/chunks/_1iwkh8t._.js +1 -1
- package/.next/standalone/.next/server/chunks/_1mxn_lb._.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_company-scores_legacy_route_actions_1ncspu_.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_data_export_route_actions_1lkimty.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_data_import_route_actions_1eji0kd.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_data_restart_route_actions_00_-u6o.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_data_reveal_route_actions_0-moqtn.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_data_route_actions_0j0w5ep.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_settings_route_actions_1bpm9ac.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_settings_sector-preview_route_actions_0w79454.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_settings_sector-suggestions_route_actions_1eoqugp.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_db-client_15le7cw.js +155 -0
- package/.next/standalone/.next/server/chunks/{lib_rpc_0mc73lk.js → lib_rpc_00tx2sm.js} +1 -1
- package/.next/standalone/.next/server/chunks/lib_rpc_02-qa4d.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_02ndsg2.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_08q5vp6.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0_8i3ft.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0c9d9ti.js +5 -2
- package/.next/standalone/.next/server/chunks/lib_rpc_0huvw-3.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0ip2vdh.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0jzisgh.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0yi9xvd.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1jyhd0o.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1kn59-i.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1q2jkza.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1vpm1sk.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1x6p_31.js +3 -0
- package/.next/standalone/.next/server/chunks/node_modules_next_1zc5q0a._.js +158 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0mocm6d._.js → [root-of-the-server]__0an6blh._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0h1_f_2._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__1m0255u._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0bipr5s._.js → [root-of-the-server]__1z1j3ek._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_07u8byv._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_08r_mlf._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{_0ggabjc._.js → _0942v8n._.js} +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{_1djpk8t._.js → _0hl_t7r._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_0tb83dw._.js +132 -0
- package/.next/standalone/.next/server/chunks/ssr/_1-87bs1._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_17gui6a._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_next-internal_server_app_settings_page_actions_11x4dq5.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/app_import_page_1fmu6_l.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_launch_page_19t0dyd.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_page_1fazqbf.js +4 -4
- package/.next/standalone/.next/server/chunks/ssr/app_profile_page_0u3-l5y.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_queue_page_0c6znd6.js +5 -5
- package/.next/standalone/.next/server/chunks/ssr/app_settings_page_1f8mjj_.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/app_setup_page_1-282zx.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/lib_0i8v-s3._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/node_modules_1f8t_rp._.js +23 -0
- package/.next/standalone/.next/server/chunks/ssr/node_modules_1nkgb45._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_01xbj_9._.js → node_modules_1wax83z._.js} +3 -3
- package/.next/standalone/.next/server/chunks/ssr/{node_modules_next_dist_00nap8h._.js → node_modules_next_dist_1bunoni._.js} +2 -2
- package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__0pco7a6._.js +2 -2
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/middleware-manifest.json +15 -7
- package/.next/standalone/.next/server/next-font-manifest.js +1 -1
- package/.next/standalone/.next/server/next-font-manifest.json +4 -0
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/prefetch-hints.json +14 -0
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/06x3jiiz96m5t.js +1 -0
- package/.next/{static/chunks/34at5d2ifl62i.js → standalone/.next/static/chunks/0ngx9s6-zgshe.js} +5 -5
- package/.next/standalone/.next/static/chunks/0q-_khndfxubv.js +2 -0
- package/.next/standalone/.next/static/chunks/1c79veqedvubt.js +1 -0
- package/.next/standalone/.next/static/chunks/1chp3nx45meg5.js +44 -0
- package/.next/standalone/.next/static/chunks/1irqj0lf-fu3d.js +1 -0
- package/.next/standalone/.next/static/chunks/1uadqylrod5_v.js +1 -0
- package/.next/standalone/.next/static/chunks/23u0zclgwpc4d.js +1 -0
- package/.next/standalone/.next/static/chunks/289ktj97di6zg.js +1 -0
- package/.next/standalone/.next/static/chunks/2b3lmf8e6uj8m.js +16 -0
- package/.next/standalone/.next/static/chunks/2jz311xl1pp_8.js +1 -0
- package/.next/standalone/.next/static/chunks/2ot61qsv6_0eq.js +1 -0
- package/.next/standalone/.next/static/chunks/3npq5yd7c4dmn.js +2 -0
- package/.next/standalone/.next/static/frfHFnRYTA0Wjrw8oZJtY/_clientMiddlewareManifest.js +14 -0
- package/.next/standalone/AGENTS.md +10 -0
- package/.next/standalone/CHANGELOG.md +325 -0
- package/.next/standalone/CONTRIBUTING.md +14 -2
- package/.next/standalone/README.md +181 -53
- package/.next/standalone/SECURITY.md +120 -10
- package/.next/standalone/app/api/company-scores/legacy/route.js +32 -0
- package/.next/standalone/app/api/company-scores/route.js +20 -11
- package/.next/standalone/app/api/data/export/route.js +49 -0
- package/.next/standalone/app/api/data/import/route.js +83 -0
- package/.next/standalone/app/api/data/restart/route.js +37 -0
- package/.next/standalone/app/api/data/reveal/route.js +14 -0
- package/.next/standalone/app/api/data/route.js +39 -0
- package/.next/standalone/app/api/ingest/route.js +15 -47
- package/.next/standalone/app/api/scraper/route.js +268 -128
- package/.next/standalone/app/api/settings/route.js +58 -0
- package/.next/standalone/app/api/settings/sector-preview/route.js +38 -0
- package/.next/standalone/app/api/settings/sector-suggestions/route.js +20 -0
- package/.next/standalone/app/api/update/route.js +197 -24
- package/.next/standalone/app/avatars/[file]/route.js +4 -2
- package/.next/standalone/app/components/CompanyScores.js +28 -7
- package/.next/standalone/app/components/EmptyState.js +8 -0
- package/.next/standalone/app/components/ForceGraph.js +40 -36
- package/.next/standalone/app/components/LegacyScoresCard.js +129 -0
- package/.next/standalone/app/components/Sidebar.js +19 -18
- package/.next/standalone/app/components/UpdatePanel.js +317 -99
- package/.next/standalone/app/components/UserProvider.js +4 -3
- package/.next/standalone/app/components/settings/DataSection.js +437 -0
- package/.next/standalone/app/components/settings/SectorSection.js +445 -0
- package/.next/standalone/app/components/ui.js +62 -0
- package/.next/standalone/app/import/page.js +3 -3
- package/.next/standalone/app/launch/page.js +30 -20
- package/.next/standalone/app/layout.js +2 -2
- package/.next/standalone/app/page.js +15 -2
- package/.next/standalone/app/paths/page.js +13 -5
- package/.next/standalone/app/profile/page.js +41 -186
- package/.next/standalone/app/queue/page.js +8 -2
- package/.next/standalone/app/settings/page.js +96 -0
- package/.next/standalone/app/setup/page.js +35 -19
- package/.next/standalone/bin/args.mjs +44 -0
- package/.next/standalone/bin/six-degrees.mjs +16 -17
- package/.next/standalone/install.sh +1 -1
- package/.next/standalone/lib/companies.js +44 -119
- package/.next/standalone/lib/csv.js +61 -27
- package/.next/standalone/lib/data-export.js +170 -0
- package/.next/standalone/lib/data-folder.js +238 -0
- package/.next/standalone/lib/data-import.js +878 -0
- package/.next/standalone/lib/db-client.js +48 -3
- package/.next/standalone/lib/durable.js +73 -0
- package/.next/standalone/lib/gate.js +90 -1
- package/.next/standalone/lib/ingest.js +40 -0
- package/.next/standalone/lib/legacy-offer.js +185 -0
- package/.next/standalone/lib/legacy-scores.js +77 -0
- package/.next/standalone/lib/linkedin-limits.js +124 -1
- package/.next/standalone/lib/release.js +5 -2
- package/.next/standalone/lib/rpc.js +121 -13
- package/.next/standalone/lib/sample-stats.js +16 -0
- package/.next/standalone/lib/scan-progress.js +13 -0
- package/.next/standalone/lib/scan-state.js +53 -0
- package/.next/standalone/lib/scanner-python.js +685 -0
- package/.next/standalone/lib/scanner-setup.js +104 -0
- package/.next/standalone/lib/scoring.js +747 -138
- package/.next/standalone/lib/scraper-client.js +10 -6
- package/.next/standalone/lib/sector-directory.js +1532 -0
- package/.next/standalone/lib/sector-focus.js +163 -0
- package/.next/standalone/lib/sector-labels.js +81 -0
- package/.next/standalone/lib/settings-effects.js +59 -0
- package/.next/standalone/lib/settings.js +83 -0
- package/.next/standalone/lib/updater-job.js +838 -0
- package/.next/standalone/lib/updater.js +494 -0
- package/.next/standalone/middleware.js +25 -28
- package/.next/standalone/next.config.mjs +19 -3
- package/.next/standalone/package-lock.json +103 -9
- package/.next/standalone/package.json +12 -11
- package/.next/standalone/public/demo-data.json +1 -1
- package/.next/standalone/scripts/apply-update.sh +482 -0
- package/.next/standalone/scripts/build-app.mjs +251 -9
- package/.next/standalone/scripts/gen-synthetic.mjs +16 -1
- package/.next/standalone/scripts/readme_buttons.py +89 -0
- package/.next/standalone/scripts/requirements.txt +106 -4
- package/.next/standalone/scripts/screenshots.py +2 -0
- package/.next/standalone/scripts/test-release-server.mjs +143 -0
- package/.next/standalone/server.js +1 -1
- package/.next/static/chunks/06x3jiiz96m5t.js +1 -0
- package/.next/{standalone/.next/static/chunks/34at5d2ifl62i.js → static/chunks/0ngx9s6-zgshe.js} +5 -5
- package/.next/static/chunks/0q-_khndfxubv.js +2 -0
- package/.next/static/chunks/1c79veqedvubt.js +1 -0
- package/.next/static/chunks/1chp3nx45meg5.js +44 -0
- package/.next/static/chunks/1irqj0lf-fu3d.js +1 -0
- package/.next/static/chunks/1uadqylrod5_v.js +1 -0
- package/.next/static/chunks/23u0zclgwpc4d.js +1 -0
- package/.next/static/chunks/289ktj97di6zg.js +1 -0
- package/.next/static/chunks/2b3lmf8e6uj8m.js +16 -0
- package/.next/static/chunks/2jz311xl1pp_8.js +1 -0
- package/.next/static/chunks/2ot61qsv6_0eq.js +1 -0
- package/.next/static/chunks/3npq5yd7c4dmn.js +2 -0
- package/.next/static/frfHFnRYTA0Wjrw8oZJtY/_clientMiddlewareManifest.js +14 -0
- package/CHANGELOG.md +325 -0
- package/README.md +181 -53
- package/SECURITY.md +120 -10
- package/bin/args.mjs +44 -0
- package/bin/six-degrees.mjs +16 -17
- package/lib/companies.js +44 -119
- package/lib/csv.js +61 -27
- package/lib/data-export.js +170 -0
- package/lib/data-folder.js +238 -0
- package/lib/data-import.js +878 -0
- package/lib/db-client.js +48 -3
- package/lib/durable.js +73 -0
- package/lib/gate.js +90 -1
- package/lib/ingest.js +40 -0
- package/lib/legacy-offer.js +185 -0
- package/lib/legacy-scores.js +77 -0
- package/lib/linkedin-limits.js +124 -1
- package/lib/release.js +5 -2
- package/lib/rpc.js +121 -13
- package/lib/sample-stats.js +16 -0
- package/lib/scan-progress.js +13 -0
- package/lib/scan-state.js +53 -0
- package/lib/scanner-python.js +685 -0
- package/lib/scanner-setup.js +104 -0
- package/lib/scoring.js +747 -138
- package/lib/scraper-client.js +10 -6
- package/lib/sector-directory.js +1532 -0
- package/lib/sector-focus.js +163 -0
- package/lib/sector-labels.js +81 -0
- package/lib/settings-effects.js +59 -0
- package/lib/settings.js +83 -0
- package/lib/updater-job.js +838 -0
- package/lib/updater.js +494 -0
- package/package.json +12 -11
- package/public/demo-data.json +1 -1
- package/scripts/requirements.txt +106 -4
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0jrmmj-._.js +0 -150
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qx548g._.js +0 -151
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1an3leo._.js +0 -150
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1m8zedk._.js +0 -155
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1zor0ys._.js +0 -3
- package/.next/standalone/.next/server/chunks/_0_rp-01._.js +0 -3
- package/.next/standalone/.next/server/chunks/_0hzdk79._.js +0 -3
- package/.next/standalone/.next/server/chunks/_0ow7u5r._.js +0 -3
- package/.next/standalone/.next/server/chunks/_0t0zc2d._.js +0 -3
- package/.next/standalone/.next/server/chunks/_0wa631d._.js +0 -3
- package/.next/standalone/.next/server/chunks/_13ccnao._.js +0 -3
- package/.next/standalone/.next/server/chunks/_13es063._.js +0 -3
- package/.next/standalone/.next/server/chunks/_142872j._.js +0 -3
- package/.next/standalone/.next/server/chunks/_18wsb_a._.js +0 -8
- package/.next/standalone/.next/server/chunks/_1e-4h5h._.js +0 -3
- package/.next/standalone/.next/server/chunks/_1gvvd7n._.js +0 -158
- package/.next/standalone/.next/server/chunks/_1moda66._.js +0 -3
- package/.next/standalone/.next/server/chunks/_1p6ghzv._.js +0 -3
- package/.next/standalone/.next/server/chunks/_1xmmi_v._.js +0 -3
- package/.next/standalone/.next/server/chunks/_1z-yrlf._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0bf3x4q._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/app_paths_page_1ol90m7.js +0 -4
- package/.next/standalone/.next/static/N9wokeIiC9rUIGmzBhj6T/_clientMiddlewareManifest.js +0 -6
- package/.next/standalone/.next/static/chunks/1odow92u6wxz0.js +0 -1
- package/.next/standalone/.next/static/chunks/1wb_is4wsdm-u.js +0 -1
- package/.next/standalone/.next/static/chunks/1zmpcmngg5c7-.js +0 -2
- package/.next/standalone/.next/static/chunks/220-ne82aus0c.js +0 -44
- package/.next/standalone/.next/static/chunks/2rrf5kzx2fhin.js +0 -2
- package/.next/standalone/.next/static/chunks/2s_k9x4d0gi9h.js +0 -16
- package/.next/standalone/.next/static/chunks/3hsi90cejq2dg.js +0 -1
- package/.next/standalone/.next/static/chunks/3pfyuezyqd9ob.js +0 -1
- package/.next/standalone/.next/static/chunks/3ts-_4i6bfkh2.js +0 -1
- package/.next/standalone/scripts/score-connections.sql +0 -80
- package/.next/standalone/scripts/score_new_connections.sql +0 -77
- package/.next/static/N9wokeIiC9rUIGmzBhj6T/_clientMiddlewareManifest.js +0 -6
- package/.next/static/chunks/1odow92u6wxz0.js +0 -1
- package/.next/static/chunks/1wb_is4wsdm-u.js +0 -1
- package/.next/static/chunks/1zmpcmngg5c7-.js +0 -2
- package/.next/static/chunks/220-ne82aus0c.js +0 -44
- package/.next/static/chunks/2rrf5kzx2fhin.js +0 -2
- package/.next/static/chunks/2s_k9x4d0gi9h.js +0 -16
- package/.next/static/chunks/3hsi90cejq2dg.js +0 -1
- package/.next/static/chunks/3pfyuezyqd9ob.js +0 -1
- package/.next/static/chunks/3ts-_4i6bfkh2.js +0 -1
- package/scripts/score_new_connections.sql +0 -77
- /package/.next/standalone/.next/static/{N9wokeIiC9rUIGmzBhj6T → frfHFnRYTA0Wjrw8oZJtY}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{N9wokeIiC9rUIGmzBhj6T → frfHFnRYTA0Wjrw8oZJtY}/_ssgManifest.js +0 -0
- /package/.next/static/{N9wokeIiC9rUIGmzBhj6T → frfHFnRYTA0Wjrw8oZJtY}/_buildManifest.js +0 -0
- /package/.next/static/{N9wokeIiC9rUIGmzBhj6T → frfHFnRYTA0Wjrw8oZJtY}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// A pretend GitHub release, served on 127.0.0.1, for testing the Mac app's
|
|
3
|
+
// in-app update without GitHub: tests/updater-job.test.mjs, a browser check of
|
|
4
|
+
// Settings → Updates, and a CI step that updates one build to the next.
|
|
5
|
+
//
|
|
6
|
+
// node scripts/test-release-server.mjs --dir DIR [--version X.Y.Z] [--port 3303]
|
|
7
|
+
//
|
|
8
|
+
// It serves every .dmg in DIR as that version's release assets, with a
|
|
9
|
+
// SHA256SUMS made from them, the way release.yml publishes a release:
|
|
10
|
+
//
|
|
11
|
+
// GET /repos/<owner/repo>/releases/latest the release, as GitHub describes it
|
|
12
|
+
// GET /<owner/repo>/releases/download/v<version>/<name> an asset
|
|
13
|
+
//
|
|
14
|
+
// Point the app at it with SIX_DEGREES_TEST_RELEASES=<the address it prints>.
|
|
15
|
+
// The app honours that only for a 127.0.0.1 address (lib/updater.js
|
|
16
|
+
// releaseSource). It is never set by the app, and nothing here ships in it.
|
|
17
|
+
|
|
18
|
+
import { createServer } from 'node:http';
|
|
19
|
+
import { createHash } from 'node:crypto';
|
|
20
|
+
import fs from 'node:fs';
|
|
21
|
+
import path from 'node:path';
|
|
22
|
+
import { fileURLToPath } from 'node:url';
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Start the server. `release` (also settable later with setRelease) is:
|
|
26
|
+
* version '0.2.2'
|
|
27
|
+
* assets [{ name, data: Buffer } | { name, file: path }]
|
|
28
|
+
* sums the SHA256SUMS text; computed from the assets when left out, and
|
|
29
|
+
* null for a release published without one
|
|
30
|
+
* stall an asset name: send half of it, then nothing (a dead connection)
|
|
31
|
+
* prerelease, draft, tag as GitHub would say them
|
|
32
|
+
* Every request is recorded in `requests` (method and path).
|
|
33
|
+
*/
|
|
34
|
+
export async function startTestReleaseServer({ slug, port = 0, release = null } = {}) {
|
|
35
|
+
if (!/^[\w.-]+\/[\w.-]+$/.test(String(slug))) throw new Error(`Not an owner/repo: ${slug}`);
|
|
36
|
+
let current = release;
|
|
37
|
+
const requests = [];
|
|
38
|
+
const open = new Set();
|
|
39
|
+
|
|
40
|
+
const bytesOf = (asset) => (asset.data ? asset.data : fs.readFileSync(asset.file));
|
|
41
|
+
const sizeOf = (asset) => (asset.data ? asset.data.length : fs.statSync(asset.file).size);
|
|
42
|
+
const sumsOf = (r) => {
|
|
43
|
+
if (r.sums === null) return null;
|
|
44
|
+
if (typeof r.sums === 'string') return r.sums;
|
|
45
|
+
return r.assets.map((a) => `${createHash('sha256').update(bytesOf(a)).digest('hex')} ${a.name}`).join('\n') + '\n';
|
|
46
|
+
};
|
|
47
|
+
const tagOf = (r) => r.tag || `v${r.version}`;
|
|
48
|
+
|
|
49
|
+
const server = createServer((req, res) => {
|
|
50
|
+
try {
|
|
51
|
+
handle(req, res);
|
|
52
|
+
} catch (err) {
|
|
53
|
+
// A file that went missing, say: answer like a failing server, don't die.
|
|
54
|
+
if (!res.headersSent) res.writeHead(500, { 'Content-Type': 'text/plain' });
|
|
55
|
+
res.end(String(err.message));
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
function handle(req, res) {
|
|
59
|
+
requests.push(`${req.method} ${req.url}`);
|
|
60
|
+
const r = current;
|
|
61
|
+
const url = new URL(req.url, 'http://127.0.0.1');
|
|
62
|
+
const send = (status, body, type = 'application/json') => {
|
|
63
|
+
res.writeHead(status, { 'Content-Type': type, 'Content-Length': Buffer.byteLength(body) });
|
|
64
|
+
res.end(body);
|
|
65
|
+
};
|
|
66
|
+
if (!r) return send(404, JSON.stringify({ message: 'Not Found' }));
|
|
67
|
+
const origin = `http://127.0.0.1:${server.address().port}`;
|
|
68
|
+
const base = `${origin}/${slug}/releases/download/${encodeURIComponent(tagOf(r))}/`;
|
|
69
|
+
const sums = sumsOf(r);
|
|
70
|
+
|
|
71
|
+
if (url.pathname === `/repos/${slug}/releases/latest`) {
|
|
72
|
+
const assets = r.assets.map((a) => ({ name: a.name, size: sizeOf(a), browser_download_url: base + encodeURIComponent(a.name) }));
|
|
73
|
+
if (sums !== null) assets.push({ name: 'SHA256SUMS', size: Buffer.byteLength(sums), browser_download_url: `${base}SHA256SUMS` });
|
|
74
|
+
return send(200, JSON.stringify({
|
|
75
|
+
tag_name: tagOf(r),
|
|
76
|
+
html_url: `${origin}/${slug}/releases/tag/${encodeURIComponent(tagOf(r))}`,
|
|
77
|
+
draft: Boolean(r.draft),
|
|
78
|
+
prerelease: Boolean(r.prerelease),
|
|
79
|
+
assets,
|
|
80
|
+
}));
|
|
81
|
+
}
|
|
82
|
+
const prefix = `/${slug}/releases/download/${encodeURIComponent(tagOf(r))}/`;
|
|
83
|
+
if (url.pathname.startsWith(prefix)) {
|
|
84
|
+
const name = decodeURIComponent(url.pathname.slice(prefix.length));
|
|
85
|
+
if (name === 'SHA256SUMS' && sums !== null) return send(200, sums, 'text/plain');
|
|
86
|
+
const asset = r.assets.find((a) => a.name === name);
|
|
87
|
+
if (!asset) return send(404, 'Not Found', 'text/plain');
|
|
88
|
+
const body = bytesOf(asset);
|
|
89
|
+
res.writeHead(200, { 'Content-Type': 'application/octet-stream', 'Content-Length': body.length });
|
|
90
|
+
if (r.stall === name) {
|
|
91
|
+
res.write(body.subarray(0, Math.floor(body.length / 2))); // then nothing, until the client gives up
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
94
|
+
return res.end(body);
|
|
95
|
+
}
|
|
96
|
+
return send(404, JSON.stringify({ message: 'Not Found' }));
|
|
97
|
+
}
|
|
98
|
+
server.on('connection', (socket) => { open.add(socket); socket.on('close', () => open.delete(socket)); });
|
|
99
|
+
await new Promise((resolve, reject) => {
|
|
100
|
+
server.once('error', reject);
|
|
101
|
+
server.listen(port, '127.0.0.1', resolve); // this computer only, never another address
|
|
102
|
+
});
|
|
103
|
+
return {
|
|
104
|
+
origin: `http://127.0.0.1:${server.address().port}`,
|
|
105
|
+
requests,
|
|
106
|
+
setRelease(next) { current = next; },
|
|
107
|
+
close() {
|
|
108
|
+
for (const socket of open) socket.destroy();
|
|
109
|
+
return new Promise((resolve) => server.close(() => resolve()));
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
// ── from the command line ──
|
|
115
|
+
if (process.argv[1] && path.resolve(process.argv[1]) === fileURLToPath(import.meta.url)) {
|
|
116
|
+
const arg = (name) => {
|
|
117
|
+
const i = process.argv.indexOf(`--${name}`);
|
|
118
|
+
return i > 0 ? process.argv[i + 1] : undefined;
|
|
119
|
+
};
|
|
120
|
+
const dir = arg('dir');
|
|
121
|
+
if (!dir) {
|
|
122
|
+
console.error('Usage: node scripts/test-release-server.mjs --dir DIR [--version X.Y.Z] [--port 3303]');
|
|
123
|
+
process.exit(2);
|
|
124
|
+
}
|
|
125
|
+
const names = fs.readdirSync(dir).filter((n) => n.endsWith('.dmg')).sort();
|
|
126
|
+
const version = arg('version') || names.map((n) => n.match(/^Six-Degrees-(\d+(?:\.\d+)+)-(?:arm64|x64)\.dmg$/)?.[1]).find(Boolean);
|
|
127
|
+
if (!names.length || !version) {
|
|
128
|
+
console.error(`No Six-Degrees-<version>-<chip>.dmg in ${dir} (or pass --version).`);
|
|
129
|
+
process.exit(2);
|
|
130
|
+
}
|
|
131
|
+
const pkg = JSON.parse(fs.readFileSync(new URL('../package.json', import.meta.url), 'utf8'));
|
|
132
|
+
const slug = String(pkg.repository?.url || '').match(/github\.com[/:]([^/]+\/[^/.#?]+)/)?.[1];
|
|
133
|
+
const served = await startTestReleaseServer({
|
|
134
|
+
slug,
|
|
135
|
+
port: Number(arg('port') || 0),
|
|
136
|
+
release: { version, assets: names.map((name) => ({ name, file: path.join(dir, name) })) },
|
|
137
|
+
});
|
|
138
|
+
console.log(`A pretend release ${version} of ${slug}: ${names.join(', ')}, SHA256SUMS`);
|
|
139
|
+
console.log(`SIX_DEGREES_TEST_RELEASES=${served.origin}`);
|
|
140
|
+
const stop = () => served.close().then(() => process.exit(0));
|
|
141
|
+
process.on('SIGINT', stop);
|
|
142
|
+
process.on('SIGTERM', stop);
|
|
143
|
+
}
|
|
@@ -9,7 +9,7 @@ const currentPort = parseInt(process.env.PORT, 10) || 3000
|
|
|
9
9
|
const hostname = process.env.HOSTNAME || '0.0.0.0'
|
|
10
10
|
|
|
11
11
|
let keepAliveTimeout = parseInt(process.env.KEEP_ALIVE_TIMEOUT, 10)
|
|
12
|
-
const nextConfig = {"env":{},"webpack":null,"typescript":{"ignoreBuildErrors":false},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.mjs","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"instrumentationClientInject":[],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":false,"customCacheHandler":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{"serverFunctions":true,"browserToTerminal":"warn"},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/home/runner/work/six-degrees/six-degrees","enablePrerenderSourceMaps":true,"cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"appNewScrollHandler":true,"coldCacheBadge":false,"devValidationWorker":true,"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"cachedNavigations":false,"dynamicOnHover":false,"useOffline":false,"varyParams":true,"optimisticRouting":true,"instrumentationClientRouterTransitionEvents":false,"prefetchInlining":{"maxSize":2048,"maxBundleSize":10240},"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":3,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptOperationCache":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"devMemoryThresholdRestart":true,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"requestInsights":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"strictRouteTypes":false,"useTypeScriptCli":true,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":true,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":true,"serverComponentsHmrCache":true,"serverComponentsHmrCancellation":false,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"gestureTransition":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":"warn","lockDistDir":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":true,"turbopackInferModuleSideEffects":true,"turbopackPluginRuntimeStrategy":"childProcesses","turbopackMemoryEvictionMode":"auto","optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"useCacheTimeout":54,"instantInsights":{"validationLevel":"warning"},"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.mjs","outputFileTracingExcludes":{"*":["dist/*.app/**","dist/*.dmg","dist/staging/**","dist/electron-stage/**","docs/**","tests/**",".git/**","*.log","scripts/dmg/**","desktop/**","node_modules/electron/**","node_modules/@electron/**"]},"serverExternalPackages":["node:sqlite"],"repoRoot":"/home/runner/work/six-degrees/six-degrees","turbopack":{"root":"/home/runner/work/six-degrees/six-degrees"},"distDirRoot":".next"}
|
|
12
|
+
const nextConfig = {"env":{},"webpack":null,"typescript":{"ignoreBuildErrors":false},"typedRoutes":false,"distDir":"./.next","cleanDistDir":true,"assetPrefix":"","cacheMaxMemorySize":52428800,"configOrigin":"next.config.mjs","useFileSystemPublicRoutes":true,"generateEtags":true,"pageExtensions":["tsx","ts","jsx","js"],"instrumentationClientInject":[],"poweredByHeader":true,"compress":true,"images":{"deviceSizes":[640,750,828,1080,1200,1920,2048,3840],"imageSizes":[32,48,64,96,128,256,384],"path":"/_next/image","loader":"default","loaderFile":"","domains":[],"disableStaticImages":false,"minimumCacheTTL":14400,"formats":["image/webp"],"maximumRedirects":3,"maximumResponseBody":50000000,"dangerouslyAllowLocalIP":false,"dangerouslyAllowSVG":false,"contentSecurityPolicy":"script-src 'none'; frame-src 'none'; sandbox;","contentDispositionType":"attachment","localPatterns":[{"pathname":"**","search":""}],"remotePatterns":[],"qualities":[75],"unoptimized":false,"customCacheHandler":false},"devIndicators":{"position":"bottom-left"},"onDemandEntries":{"maxInactiveAge":60000,"pagesBufferLength":5},"basePath":"","sassOptions":{},"trailingSlash":false,"i18n":null,"productionBrowserSourceMaps":false,"excludeDefaultMomentLocales":true,"reactProductionProfiling":false,"reactStrictMode":null,"reactMaxHeadersLength":6000,"httpAgentOptions":{"keepAlive":true},"logging":{"serverFunctions":true,"browserToTerminal":"warn"},"compiler":{},"expireTime":31536000,"staticPageGenerationTimeout":60,"output":"standalone","modularizeImports":{"@mui/icons-material":{"transform":"@mui/icons-material/{{member}}"},"lodash":{"transform":"lodash/{{member}}"}},"outputFileTracingRoot":"/home/runner/work/six-degrees/six-degrees","enablePrerenderSourceMaps":true,"cacheComponents":false,"cacheLife":{"default":{"stale":300,"revalidate":900,"expire":4294967294},"seconds":{"stale":30,"revalidate":1,"expire":60},"minutes":{"stale":300,"revalidate":60,"expire":3600},"hours":{"stale":300,"revalidate":3600,"expire":86400},"days":{"stale":300,"revalidate":86400,"expire":604800},"weeks":{"stale":300,"revalidate":604800,"expire":2592000},"max":{"stale":300,"revalidate":2592000,"expire":31536000}},"cacheHandlers":{},"experimental":{"appNewScrollHandler":true,"coldCacheBadge":false,"devValidationWorker":true,"useSkewCookie":false,"cssChunking":true,"multiZoneDraftMode":false,"appNavFailHandling":false,"prerenderEarlyExit":true,"serverMinification":true,"linkNoTouchStart":false,"caseSensitiveRoutes":false,"cachedNavigations":false,"dynamicOnHover":false,"useOffline":false,"varyParams":true,"optimisticRouting":true,"instrumentationClientRouterTransitionEvents":false,"prefetchInlining":{"maxSize":2048,"maxBundleSize":10240},"preloadEntriesOnStart":true,"clientRouterFilter":true,"clientRouterFilterRedirects":false,"fetchCacheKeyPrefix":"","proxyPrefetch":"flexible","optimisticClientCache":true,"manualClientBasePath":false,"cpus":3,"memoryBasedWorkersCount":false,"imgOptConcurrency":null,"imgOptOperationCache":null,"imgOptTimeoutInSeconds":7,"imgOptMaxInputPixels":268402689,"imgOptSequentialRead":null,"isrFlushToDisk":true,"workerThreads":false,"optimizeCss":false,"nextScriptWorkers":false,"scrollRestoration":false,"externalDir":false,"devMemoryThresholdRestart":true,"disableOptimizedLoading":false,"gzipSize":true,"craCompat":false,"esmExternals":true,"fullySpecified":false,"swcTraceProfiling":false,"forceSwcTransforms":false,"requestInsights":false,"largePageDataBytes":128000,"typedEnv":false,"parallelServerCompiles":false,"parallelServerBuildTraces":false,"ppr":false,"authInterrupts":false,"webpackMemoryOptimizations":false,"optimizeServerReact":true,"strictRouteTypes":false,"useTypeScriptCli":true,"removeUncaughtErrorAndRejectionListeners":false,"validateRSCRequestHeaders":true,"staleTimes":{"dynamic":0,"static":300},"reactDebugChannel":true,"serverComponentsHmrCache":true,"serverComponentsHmrCancellation":false,"staticGenerationMaxConcurrency":8,"staticGenerationMinPagesPerWorker":25,"transitionIndicator":false,"gestureTransition":false,"inlineCss":false,"useCache":false,"globalNotFound":false,"browserDebugInfoInTerminal":"warn","lockDistDir":true,"proxyClientMaxBodySize":10485760,"hideLogsAfterAbort":false,"mcpServer":true,"turbopackFileSystemCacheForDev":true,"turbopackFileSystemCacheForBuild":true,"turbopackInferModuleSideEffects":true,"turbopackPluginRuntimeStrategy":"childProcesses","turbopackMemoryEvictionMode":"auto","optimizePackageImports":["lucide-react","date-fns","lodash-es","ramda","antd","react-bootstrap","ahooks","@ant-design/icons","@headlessui/react","@headlessui-float/react","@heroicons/react/20/solid","@heroicons/react/24/solid","@heroicons/react/24/outline","@visx/visx","@tremor/react","rxjs","@mui/material","@mui/icons-material","recharts","react-use","effect","@effect/schema","@effect/platform","@effect/platform-node","@effect/platform-browser","@effect/platform-bun","@effect/sql","@effect/sql-mssql","@effect/sql-mysql2","@effect/sql-pg","@effect/sql-sqlite-node","@effect/sql-sqlite-bun","@effect/sql-sqlite-wasm","@effect/sql-sqlite-react-native","@effect/rpc","@effect/rpc-http","@effect/typeclass","@effect/experimental","@effect/opentelemetry","@material-ui/core","@material-ui/icons","@tabler/icons-react","mui-core","react-icons/ai","react-icons/bi","react-icons/bs","react-icons/cg","react-icons/ci","react-icons/di","react-icons/fa","react-icons/fa6","react-icons/fc","react-icons/fi","react-icons/gi","react-icons/go","react-icons/gr","react-icons/hi","react-icons/hi2","react-icons/im","react-icons/io","react-icons/io5","react-icons/lia","react-icons/lib","react-icons/lu","react-icons/md","react-icons/pi","react-icons/ri","react-icons/rx","react-icons/si","react-icons/sl","react-icons/tb","react-icons/tfi","react-icons/ti","react-icons/vsc","react-icons/wi"],"useCacheTimeout":54,"instantInsights":{"validationLevel":"warning"},"trustHostHeader":false,"isExperimentalCompile":false},"htmlLimitedBots":"[\\w-]+-Google|Google-[\\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight","bundlePagesRouterDependencies":false,"configFileName":"next.config.mjs","outputFileTracingExcludes":{"*":["dist/*.app/**","dist/*.dmg","dist/staging/**","dist/electron-stage/**","docs/**","tests/**",".git",".git/**","*.log","scripts/dmg/**","scripts/pin-python-packages.mjs","desktop/**","node_modules/electron/**","node_modules/@electron/**","site/**"]},"serverExternalPackages":["node:sqlite"],"repoRoot":"/home/runner/work/six-degrees/six-degrees","turbopack":{"root":"/home/runner/work/six-degrees/six-degrees"},"distDirRoot":".next"}
|
|
13
13
|
|
|
14
14
|
process.env.__NEXT_PRIVATE_STANDALONE_CONFIG = JSON.stringify(nextConfig)
|
|
15
15
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,7837,90179,e=>{"use strict";let n={csuite:{key:"csuite",label:"C-Suite / Founder",level:6,points:10},owner:{key:"owner",label:"Owner / Entrepreneur",level:5,points:8},vp:{key:"vp",label:"VP / Partner / GM",level:5,points:9},director:{key:"director",label:"Director / Head",level:4,points:7.5},manager:{key:"manager",label:"Manager / Lead",level:3,points:6.5},senior:{key:"senior",label:"Senior IC",level:2,points:5},ic:{key:"ic",label:"IC / Entry",level:1,points:4},unknown:{key:"unknown",label:"Title unclear",level:1,points:3},intern:{key:"intern",label:"Intern",level:0,points:2},student:{key:"student",label:"Student",level:0,points:1}},t=[[/\b(reporting )?(to|for) (the |our )?(ceo|cto|coo|cfo|cmo|founders?|co-?founders?|president|chair(man)?)\b/g,null],[/\bchief of staff\b/g,"director"],[/\b(senior |executive |assistant |associate )?vice[-\s]?president\b|\b(s|e|a)?vp\b/g,"vp"],[/\b(product|process|content|data|feature|service|project|business process) owner\b/g,"ic"],[/\b(client|channel|strategic|business|brand|creative|agency|solutions?|account|community|developer|technology|alliances?|content|media|marketing|talent|partner) partner\b/g,"senior"],[/\bpartner (manager|marketing|development|success)\b/g,"manager"],[/\blead gen(eration)?\b|\bthought leader(ship)?\b/g,null],[/\binvestor relations\b/g,"ic"],[/\b(ceo|cto|cfo|coo|cmo|cro|cpo|cio|ciso|cdo|cso)\b|\bchief\s+(\w+\s+){0,3}officer\b|\bchief executive\b|\b(co-?)?founder\b|\bcofounder\b|\bpresident\b|\bchair(man|woman|person)\b|\bexecutive chair\b|\b(general|managing|founding) partner\b/g,"csuite"],[/\b(co-?)?owner\b|\bentrepreneur\b|\bself[-\s]employed\b|\bproprietor\b/g,"owner"],[/\bmanaging director\b|\bgeneral manager\b|\bgm\b|\bcountry (manager|director|lead)\b|\bglobal head\b|\bchief (technologist|scientist|architect|economist|evangelist|strategist|engineer|of \w+)\b|^\s*partner\b|\bpartner (at|@)|\b(venture|senior|equity|operating) partner\b|\bboard (member|director|chair)\b|\bchair of the board\b|\bmember of the board\b|\bboard of directors\b/g,"vp"],[/\b(senior |executive |creative |art |associate )?director\b|\bhead of\b|\bhead\b(?= (coach|chef))|\b(angel |venture )?investor\b|\bprincipal at\b|\b(technical|distinguished|senior) fellow\b|(?<!account |sales |customer )\bexecutive\b(?! (assistant|producer|chef))/g,"director"],[/\bmanager\b|\bmgr\b|\b(team |tech |design |engineering )?lead\b|\bleader\b|\bprincipal\b|\bstaff (engineer|designer|scientist|product|data)\b|\bsupervisor\b|\bsuperintendent\b/g,"manager"],[/\bsenior\b|\bsr\b\.?|\bspecialist\b|\barchitect\b|\bexpert\b|\bexecutive producer\b/g,"senior"],[/\b(engineer|developer|designer|analyst|associate|coordinator|consultant|strategist|recruiter|creator|producer|editor|writer|artist|scientist|researcher|representative|assistant|administrator|technician|officer|agent|teacher|professor|nurse|attorney|lawyer|accountant|marketer|photographer|videographer|freelancer?|contractor|account executive|creative|influencer|coach|trainer|instructor|advisor|adviser|mentor|programmer|animator|illustrator|planner|buyer|broker|realtor|swe|sde|sre|pm|recruiting)\b/g,"ic"]],r=/\b(intern|internship|trainee|apprentice)\b/,a=/\b(student|undergrad(uate)?|aspiring|phd candidate|recent grad(uate)?|class of 20\d\d|incoming (analyst|intern|associate|swe|engineer)|gpa|freshman|sophomore|b\.?s\.? candidate)\b|^\s*(honors )?(cs|computer science|ms ?cs|mscs|bscs|engineering|finance|marketing|business|economics|accounting|biology|psychology|information technology)\b.*(\s(@|at)\s*)(university|college)\b/,i=/^\s*(honors )?(cs|computer science|ms ?cs|mscs|bscs|engineering|finance|marketing|business|economics|accounting|biology|psychology|information technology)\b/i,o=/\b(?:U[A-Z]{1,3}|[A-Z]{1,3}U)\b/g,s=/\s(?:@|[Aa][Tt])\s*(U[A-Z]{1,3}|[A-Z]{1,3}U)\b/,c=new Set(["US","USA","UK","UAE","EU","UN","UU","AAU","UBS","UFC","UPMC","UHG","UHC","UA","UL","ULA","UTC","UAW","USW","SEIU","UFCW","UFT"]),l="(alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)",u=RegExp(`\\b(fraternity|sorority|student (government|association|union|org(anization)?|senate)|honor society|campus)\\b|\\b${l}\\s+${l}\\b`),b=/\b(club|chapter|society|association)\b.*\b(university|college|school|student)\b|\b(university|college|school|student)\b.*\b(club|chapter|society)\b/,m=/\b(club|chapter|society|association)\b/,d=/\b(club|society)\b/,p=/\b(marketing|finance|financial|business|economics|accounting|consulting|investment|investing|entrepreneurship|engineering|computer science|data science|nursing|pre-?law|pre-?med|students?)\b.*\bassociation\b/,h=/\b(alumni|alumnae|alumnus|alum|parents?)\b/,f=/^\s*(ex[-\s]|former(ly)?\b|previously\b|prev\b|past\b|retired\b)/i;function g(e){if(c.has(e)||/^US[A-Z]{2}$/.test(e))return!1;let n=L(e);return!I.has(n)||"education"===I.get(n)}function y(e){if(a.test(` ${e.toLowerCase()} `))return!0;let n=i.test(e)&&s.exec(e);return!!n&&g(n[1])}function v(e=""){return String(e||"").split(/\s*(?:\||•|·|⋅|\/\/| – | — | - |;)\s*/).map(e=>e.trim()).filter(Boolean)}function w(e="",a=""){let i=[];for(let s of v(e||a)){let e=f.test(s),a=s.replace(f,"").replace(/^[@\s.:]+/,""),c=function(e){let a,i=` ${e.toLowerCase()} `;if(r.test(i))return n.intern;if(y(e))return n.student;let s=null;for(let[e,r]of t)e.lastIndex=0,e.test(i)&&(i=i.replace(e," "),r&&(!s||n[r].level>s.level||n[r].level===s.level&&n[r].points>s.points)&&(s=n[r]));return s&&s.level>=3&&(u.test(e.toLowerCase())||(a=e.toLowerCase(),!(!m.test(a)||h.test(a))&&(b.test(a)||(d.test(a)||p.test(a))&&[...e.matchAll(o)].some(([e])=>g(e)))))?{...n.student,label:"Student (club role)"}:s}(a),l=function(e=""){let n=String(e).match(/(?:\s(?:at\s+|@\s*)|^@|\s@)(.+)$/i);return n?L(n[1]):null}(a)||(0===i.length&&E(a)?L(a):null);!c&&l&&(c={...n.ic,label:"Works there"}),c&&i.push({title:c,company:l,former:e,part:a})}return i}let k=String.raw`(?! (performing arts )?(arena|stadium|center|centre|field|park|ballpark|dome|amphitheat(er|re)|theat(er|re)|pavilion|forum|coliseum|speedway)\b)`,$=e=>new RegExp(String.raw`^(${e})\b${k}`),S=String.raw`( [a-z]+)?( graduate)? school of [a-z ,&]+| (business|law|medical|divinity|nursing|dental|journalism|graduate|extension|kennedy) school`,C=(e,n="")=>new RegExp(String.raw`^(${e})( university)?(${S}${n})?$`),x=[["Google",10,/^(google|deepmind)\b|^alphabet$/,"tech"],["Apple",10,/^apple( inc)?$/,"tech"],["Microsoft",10,/^microsoft\b/,"tech"],["Amazon",10,/^(amazon|aws|amazon web services)\b(?! (conservation|watch)\b)/,"tech"],["Meta",10,/^meta( platforms)?$|^(facebook|instagram|whatsapp|reality labs)\b/,"tech"],["NVIDIA",10,/^nvidia\b/,"tech"],["OpenAI",10,/^(openai|open ai)\b/,"tech"],["Anthropic",10,/^anthropic\b/,"tech"],["Tesla",10,/^tesla( motors| inc)?$/,"industry"],["Netflix",9,/^netflix\b/,"entertainment"],["YouTube",9,/^youtube\b/,"media"],["LinkedIn",9,/^linkedin\b/,"tech"],["TikTok",9,/^(tiktok|bytedance)\b/,"media"],["SpaceX",9,/^spacex\b/,"defense"],["Stripe",9,/^stripe\b/,"finance"],["Palantir",9,/^palantir\b/,"tech"],["Coca-Cola",9,/^(the )?coca[-\s]cola( company| north america)?$/,"consumer"],["Disney",9,/^(the walt |walt )?disney\b/,"entertainment"],["Goldman Sachs",9,/^goldman sachs\b|^goldman$/,"finance"],["JPMorgan Chase",9,/^(jp ?morgan|j\.p\. morgan|jpmorgan chase)\b|^chase( bank| home lending| card services| auto| for business)?$/,"finance"],["Morgan Stanley",9,/^morgan stanley\b/,"finance"],["BlackRock",9,/^blackrock\b/,"finance"],["McKinsey",9,/^mckinsey\b/,"consulting"],["BCG",9,/^(bcg|boston consulting group)\b/,"consulting"],["Bain",9,/^bain( & company| and company)?$/,"consulting"],["Bain Capital",9,/^bain capital$/,"finance"],["Procter & Gamble",9,/^(p&g|procter)\b/,"consumer"],["Sequoia",9,/^sequoia( capital)?$/,"finance"],["Andreessen Horowitz",9,/^(a16z|andreessen)\b/,"finance"],["Y Combinator",9,/^(y combinator|yc)$/,"finance"],["Blackstone",9,/^blackstone( group)?$/,"finance"],["KKR",9,/^(kkr|kohlberg kravis roberts)\b/,"finance"],["Apollo Global Management",9,/^apollo( global( management)?| management)$/,"finance"],["Salesforce",8,/^salesforce\b/,"tech"],["Adobe",8,/^adobe( systems)?$/,"tech"],["Oracle",8,/^oracle( america| health| netsuite| cloud( infrastructure)?| financial services( software)?)?$/,"tech"],["IBM",8,/^ibm\b/,"tech"],["Uber",8,/^uber( technologies| eats)?$/,"tech"],["Airbnb",8,/^airbnb\b/,"tech"],["DoorDash",8,/^doordash\b/,"tech"],["Spotify",8,/^spotify\b/,"entertainment"],["Snap",8,/^(snap|snapchat)( inc)?$/,"media"],["Pinterest",8,/^pinterest\b/,"media"],["Reddit",8,/^reddit\b/,"media"],["X",8,/^(x corp|twitter)\b/,"media"],["Roblox",8,/^roblox\b/,"entertainment"],["Shopify",8,/^shopify\b(?! (plus )?partners?\b)/,"consumer"],["Snowflake",8,/^snowflake( computing)?$/,"tech"],["Datadog",8,/^datadog\b/,"tech"],["CrowdStrike",8,/^crowdstrike\b/,"tech"],["ServiceNow",8,/^servicenow\b/,"tech"],["Canva",8,/^canva\b/,"tech"],["Intuit",8,/^intuit\b/,"tech"],["Cisco",8,/^cisco\b/,"tech"],["Qualcomm",8,/^qualcomm\b/,"tech"],["AMD",8,/^amd\b/,"tech"],["Samsung",8,/^samsung\b/,"tech"],["Sony",8,/^sony\b/,"entertainment"],["Epic Games",8,/^epic games\b/,"entertainment"],["Coinbase",8,/^coinbase\b/,"finance"],["Robinhood",8,/^robinhood\b/,"finance"],["Block",8,/^(block|square|cash app)$/,"finance"],["Visa",8,/^visa( inc)?$/,"finance"],["Mastercard",8,/^mastercard\b/,"finance"],["American Express",8,/^(american express|amex)\b/,"finance"],["Capital One",8,$("capital one"),"finance"],["BNY",8,/^(bny|bny mellon|bank of new york)\b/,"finance"],["Citi",8,/^(citi( private bank)?|citigroup|citibank)$/,"finance"],["Wells Fargo",8,$("wells fargo"),"finance"],["Bank of America",8,new RegExp(String.raw`^bank of america\b${k}|^merrill( lynch( wealth management)?| edge)?$`),"finance"],["Fidelity",8,/^fidelity( investments| institutional| management (&|and) research( company)?)?$/,"finance"],["Deloitte",8,/^deloitte\b/,"consulting"],["PwC",8,/^(pwc|pricewaterhouse)\b/,"consulting"],["EY",8,/^(ey|ernst & young)$/,"consulting"],["KPMG",8,/^kpmg\b/,"consulting"],["Accenture",8,/^accenture\b/,"consulting"],["Nike",8,/^nike\b/,"consumer"],["PepsiCo",8,/^pepsico\b|^pepsi( beverages( company)?| cola( company)?)?$/,"consumer"],["Walmart",8,/^walmart\b/,"consumer"],["Starbucks",8,/^starbucks\b/,"consumer"],["Unilever",8,/^unilever\b/,"consumer"],["LVMH",8,/^lvmh\b/,"consumer"],["L'Oréal",8,/^l'?or[eé]al\b/,"consumer"],["Red Bull",8,$("red bull"),"consumer"],["NBCUniversal",8,/^(nbcuniversal|nbc universal|nbc)\b/,"entertainment"],["Warner Bros. Discovery",8,/^(warner (bros|brothers)( discovery| pictures| entertainment| television( studios)?| games| animation| studios)?|warner ?media|wbd)$/,"entertainment"],["Lockheed Martin",8,/^lockheed\b/,"defense"],["Northrop Grumman",8,/^northrop\b/,"defense"],["Boeing",8,/^boeing\b/,"defense"],["RTX",8,/^(rtx|raytheon)\b/,"defense"],["General Dynamics",8,/^general dynamics\b/,"defense"],["Blue Origin",8,/^blue origin\b/,"defense"],["Siemens",8,/^siemens\b(?! (energy|healthineers|gamesa)\b)/,"industry"],["Mitsubishi",8,/^mitsubishi\b(?! (ufj|hc capital|estate)\b)/,"industry"],["Toyota",8,/^toyota( motor( north america| corporation| manufacturing( [a-z]+){0,2}| sales( usa)?)?| north america| financial services| research institute( of north america)?)?$/,"industry"],["Johnson & Johnson",8,/^johnson (&|and) johnson\b|^j&j$/,"health"],["Pfizer",8,/^pfizer\b/,"health"],["UnitedHealth",8,/^(unitedhealth(care)?|united ?health ?care|united health group|optum(rx|care|health|insight|serve)?)\b/,"health"],["World Bank",8,/^world bank\b/,"finance"],["NASA",8,/^nasa\b(?! federal credit union\b)/,"defense"],["Stanford University",8,C("stanford","| gsb"),"education"],["Harvard University",8,C("harvard","| college"),"education"],["MIT",8,/^(mit|massachusetts institute of technology)$/,"education"],["CVS Health",8,/^(cvs|cvshealth)\b/,"health"],["Aetna",8,/^aetna\b/,"health"],["Cigna",8,/^cigna\b/,"health"],["Humana",8,/^humana\b/,"health"],["Elevance Health",8,/^elevance\b|^anthem( blue cross( (and |& )?blue shield)?| inc| health plans)?$/,"health"],["HCA Healthcare",8,/^hca\b/,"health"],["Kaiser Permanente",8,/^kaiser( (permanente|foundation (health plan|hospitals))\b|$)/,"health"],["Merck",8,/^merck\b(?! (kgaa|group|millipore)\b)/,"health"],["AbbVie",8,/^abbvie\b/,"health"],["Eli Lilly",8,/^eli lilly\b|^lilly( usa)?$/,"health"],["Bristol Myers Squibb",8,/^bristol[-\s]?myers\b/,"health"],["AstraZeneca",8,/^astrazeneca\b/,"health"],["Bayer",8,/^bayer( ag| u\.?s\.?| crop ?science| pharmaceuticals| healthcare| consumer health)?$/,"health"],["Costco",8,/^costco\b/,"consumer"],["The Home Depot",8,$("home depot"),"consumer"],["Kroger",8,$("kroger"),"consumer"],["IKEA",8,/^ikea\b/,"consumer"],["Aldi",8,/^aldi\b/,"consumer"],["7-Eleven",8,/^7[-\s]?eleven\b/,"consumer"],["Walgreens",8,/^walgreens?\b/,"consumer"],["Lowe's",8,/^lowe['’]?s( companies| home improvement)?$/,"consumer"],["Albertsons",8,/^albertsons( companies)?$/,"consumer"],["TJX",8,/^(tjx( companies)?|tj ?maxx)$/,"consumer"],["Tyson Foods",8,/^tyson( foods)?$/,"consumer"],["Nestlé",8,/^nestl[eé](?![a-z])/,"consumer"],["Anheuser-Busch",8,/^(anheuser[-\s]busch|ab[-\s]?inbev)\b/,"consumer"],["Mars",8,/^mars( inc| incorporated| wrigley| petcare| snacking)?$/,"consumer"],["McDonald's",8,/^mcdonald['’]?s\b/,"consumer"],["General Motors",8,/^general motors\b/,"industry"],["Ford",8,/^ford( motor( company| credit( company)?)?)?$/,"industry"],["Volkswagen",8,/^(volkswagen( group( of america)?| of america| ag)?|vw)$/,"industry"],["Mercedes-Benz",8,/^mercedes[-\s]benz( group| usa| ag| u\.s)?$/,"industry"],["BMW",8,/^bmw( group| ag| of north america| manufacturing)?$/,"industry"],["Honda",8,/^(american )?honda( motor( company)?| north america| aircraft( company)?| r&d( americas)?)?$/,"industry"],["Hyundai",8,/^hyundai( motor( company| america| group| north america)?)?$/,"industry"],["Kia",8,/^kia( motors?| america| motors america| georgia)?$/,"industry"],["Nissan",8,/^nissan( motor( company| corporation)?| north america| americas)?$/,"industry"],["Delta Air Lines",8,/^delta (air lines|airlines)\b/,"consumer"],["United Airlines",8,/^united airlines\b/,"consumer"],["American Airlines",8,$("american airlines"),"consumer"],["Verizon",8,$("verizon"),"tech"],["AT&T",8,$("at ?& ?t"),"tech"],["T-Mobile",8,$(String.raw`t[-\s]?mobile`),"tech"],["Comcast",8,$("comcast|xfinity"),"tech"],["ExxonMobil",8,/^exxon( ?mobil)?\b/,"industry"],["Chevron",8,/^chevron\b(?! phillips\b)/,"industry"],["ConocoPhillips",8,/^conocophillips\b/,"industry"],["Shell",8,/^shell( oil( company)?| usa| energy| global solutions| trading)?$/,"industry"],["BP",8,/^(bp( america| p\.l\.c)?|british petroleum)$/,"industry"],["UPS",8,/^ups( supply chain solutions| airlines| healthcare)?$|^united parcel service\b/,"industry"],["FedEx",8,$("fedex|federal express"),"industry"],["DHL",8,/^dhl\b/,"industry"],["Berkshire Hathaway",8,/^berkshire hathaway$/,"finance"],["State Farm",8,$("state farm"),"finance"],["Allstate",8,$("allstate"),"finance"],["MetLife",8,$("metlife"),"finance"],["Progressive",8,/^progressive( insurance| casualty insurance( company)?)?$/,"finance"],["Prudential Financial",8,/^prudential( financial| insurance( company of america)?)?$/,"finance"],["New York Life",8,/^new york life\b/,"finance"],["Nationwide",8,/^nationwide( insurance| mutual( insurance( company)?)?| financial)?$/,"finance"],["Liberty Mutual",8,/^liberty mutual\b/,"finance"],["USAA",8,/^usaa\b/,"finance"],["Travelers",8,/^travelers( insurance| companies)?$/,"finance"],["Fannie Mae",8,/^(fannie mae|federal national mortgage association)\b/,"finance"],["Freddie Mac",8,/^(freddie mac|federal home loan mortgage)\b/,"finance"],["Dell",8,/^dell( technologies| emc)?$/,"tech"],["HP",8,/^(hp|hewlett[-\s]packard)( inc| company)?$/,"tech"],["Caterpillar",8,/^caterpillar\b/,"industry"],["John Deere",8,/^(john deere|deere( (&|and) company)?)\b/,"industry"],["Kirkland & Ellis",8,/^kirkland (&|and) ellis\b/,"consulting"],["Latham & Watkins",8,/^latham (&|and) watkins\b/,"consulting"],["DLA Piper",8,/^dla piper\b/,"consulting"],["Baker McKenzie",8,/^baker (& )?mckenzie\b/,"consulting"],["Skadden",8,/^skadden\b/,"consulting"],["Gibson Dunn",8,/^gibson dunn\b/,"consulting"],["Sidley Austin",8,/^sidley( austin)?\b/,"consulting"],["White & Case",8,/^white (&|and) case\b/,"consulting"],["Ropes & Gray",8,/^ropes (&|and) gray\b/,"consulting"],["Princeton University",8,C("princeton"),"education"],["Yale University",8,C("yale","| college"),"education"],["Discord",7,/^discord\b/,"tech"],["Paramount",7,/^paramount( global| pictures| skydance| streaming| television( studios)?| media networks|\+)?$/,"entertainment"],["Madison Square Garden",7,/^(madison square garden|msg)\b/,"entertainment"],["Fanatics",7,/^fanatics\b/,"consumer"],["Nielsen",7,/^nielsen( holdings| company| media research| audience measurement)?$/,"media"],["The Trade Desk",7,/^the trade desk\b/,"media"],["SiriusXM",7,/^sirius ?xm\b/,"entertainment"],["Twitch",7,/^twitch\b/,"entertainment"],["Electronic Arts",7,/^(electronic arts|ea)$/,"entertainment"],["Activision Blizzard",7,/^(activision( blizzard)?|blizzard( entertainment)?)$/,"entertainment"],["MrBeast",7,/^(mrbeast|beast industries)$/,"media"],["Lyft",7,/^lyft\b/,"tech"],["Instacart",7,/^instacart\b/,"tech"],["Duolingo",7,/^duolingo\b/,"tech"],["Intel",7,/^intel( corporation)?$/,"tech"],["Workday",7,/^workday\b/,"tech"],["PayPal",7,/^paypal\b/,"finance"],["Credit Karma",7,/^credit karma\b/,"finance"],["Chick-fil-A",7,/^chick[-\s]fil[-\s]a\b/,"consumer"],["Target",7,/^target( corporation)?$/,"consumer"],["Booz Allen Hamilton",7,/^booz allen\b/,"defense"],["L3Harris",7,/^l3harris\b/,"defense"],["Leidos",7,/^leidos\b/,"defense"],["WPP",7,/^wpp\b/,"media"],["Omnicom",7,/^omnicom\b/,"media"],["Publicis",7,/^publicis\b/,"media"],["Interpublic",7,/^(interpublic|ipg)\b/,"media"],["Dentsu",7,/^dentsu\b/,"media"],["Kellanova",7,/^(kellanova|kellogg['’]?s|kellogg( company)?)$/,"consumer"],["Campbell",7,/^campbell( soup( company)?| company|['’]?s)?$/,"consumer"],["Goodyear",7,/^goodyear\b/,"industry"],["Duke University",7,/^duke( university)?$/,"education"],["UC Berkeley",7,/^(uc berkeley|university of california,? berkeley)\b/,"education"],["Mayo Clinic",7,/^mayo clinic\b/,"health"],["Cleveland Clinic",7,/^cleveland clinic\b/,"health"],["Johns Hopkins Medicine",7,/^johns hopkins (medicine|hospital|health( system|care)|all children['’]?s|bayview|community physicians)\b/,"health"],["Dollar General",7,/^dollar general\b/,"consumer"],["Dollar Tree",7,/^dollar tree\b/,"consumer"],["Chipotle",7,/^chipotle\b/,"consumer"],["Kraft Heinz",7,/^kraft (heinz|foods)\b/,"consumer"],["General Mills",7,/^general mills\b/,"consumer"],["Marriott",7,/^marriott( international| hotels( (&|and) resorts)?)?$/,"consumer"],["Hilton",7,/^hilton( worldwide( holdings)?| hotels( (&|and) resorts)?)?$/,"consumer"],["Southwest Airlines",7,/^southwest airlines\b/,"consumer"],["Union Pacific",7,/^union pacific\b/,"industry"],["GEICO",7,/^(geico|government employees insurance)\b/,"finance"],["Fox",7,/^fox( news( channel| media)?| sports| entertainment| broadcasting( company)?| television stations| business( network)?)?$/,"entertainment"],["The New York Times",7,/^new york times\b|^nyt$/,"media"],["Bloomberg",7,/^bloomberg( lp| l\.p| news| media| industry group| law| tax| government| intelligence)?$/,"media"],["Caltech",7,/^(caltech|california institute of technology)$/,"education"],["Johns Hopkins University",7,/^johns hopkins( university\b|$| (carey|bloomberg|whiting|krieger|peabody|sais)\b| school of\b)|^jhu$/,"education"],["Northwestern University",7,C("northwestern"),"education"],["University of Pennsylvania",7,C("university of pennsylvania|upenn|penn"),"education"],["Cornell University",7,C("cornell","| tech"),"education"],["University of Chicago",7,C("university of chicago|uchicago"),"education"],["Brown University",7,C("brown"),"education"],["Columbia University",7,C("columbia university|columbia(?= (business|law|journalism) school$)"),"education"],["Dartmouth College",7,C("dartmouth","| college"),"education"],["UCLA",7,/^(ucla|university of california,? los angeles)$|^ucla anderson\b/,"education"],["Rice University",7,C("rice university"),"education"],["University of Notre Dame",7,C("university of notre dame|notre dame"),"education"],["Vanderbilt University",7,C("vanderbilt"),"education"]],A=/^(self[-\s]?employed|freelance|various|multiple|confidential|n\/a|none|tbd|open to work|looking|seeking)$/i,U=/^(scale$|heart|large|night|home(?! (depot|instead|chef)\b)|work|speed|best(?=$|[-\s]in[-\s]class|\s(of|practices?)\b)|the intersection|intersection|the crossroads|the forefront|the core|every stage|all levels|your service)\b/i,M=/(?<!\b(?:[a-z]|st|mt|ft))\.\s|,\s/i,B=/,?\s+(inc|incorporated|llc|ltd|l\.l\.c|corp|corporation|co|gmbh|plc|pbc)\.?$/i,z=/^(chase|merrill) corp(oration)?$/i,_=/\b(school|college|university)\b/,N=/\b(certified|certifications?|mvps?|champions?|experts?|ambassadors?|developers?|instructors?|trainers?|moderators?|superhosts?|hosts?|drivers?|dashers?|couriers?|shoppers?|sellers?|fba|kdp|dsp|franchisees?|streamers?|affiliates?|creators?|influencers?|athletes?|scholars?|shareholders?|alum|alumni|alumnus|alumna|alumnae|top voice|users? groups?|for startups|fans?|enthusiasts?|lovers?|nerds?|geeks?|junkies?|buffs?|addicts?|aficionados?|10,?000 (small businesses|women)|10ksb)\b/,P=/\b(partners?|consultants?|admins?|administrators?)\b/,T=new Set(["tech","media","entertainment"]);function L(e){let n=String(e||"").replace(/[\p{Extended_Pictographic}\u{FE0F}]/gu,"").split(/\s*(?:\||•|·| – | — | - |!|\(|\/| {2,})\s*/)[0].split(M)[0].replace(/[\s,.:;'"]+$/,"");if(z.test(n)||(n=n.replace(B,"")),!(n=n.trim())||n.length<2||A.test(n)||U.test(n)||n.length>50||n.split(/\s+/).length>6||/\$|\d+%|\d+[kmb]\+/i.test(n))return null;let t=n.toLowerCase(),r=t.replace(/^the /,""),a=_.test(t),i=N.test(r),o=P.test(r);for(let[e,,n,s]of x)if((!a||"education"===s)&&(t===e.toLowerCase()||!(i||o&&T.has(s))&&(n.test(t)||n.test(r))))return e;return n}let D=new Map(x.map(([e,n])=>[e,n])),I=new Map(x.map(([e,,,n])=>[e,n])),E=e=>{let n=L(e);return!!n&&D.has(n)};function O(e){let t,r=w(e?.headline,e?.role),a=L(e?.scanned_company)||((t=L(e?.company))&&!r.some(e=>e.former&&e.company===t)?t:null),i=r.find(e=>!e.former);return a&&i&&!i.company&&(i.company=a),a&&!i&&r.unshift({title:{...n.unknown},company:a,former:!1,part:""}),r.length||r.push({title:{...n.unknown},company:null,former:!1,part:""}),r}let H="unknown",j=(e,n)=>[...new Set(e.map(n).filter(Boolean))],F={lean:1,strong:2};function G(e,{overrides:n=new Map,headcount:t=0,industry:r,industryFrom:a,sectors:i,sectorIndustries:o,focus:s}={}){let c;if(!e)return{score:3,source:"none"};if(n.has(e))return{score:n.get(e),source:"yours"};let l=r??I.get(e);return c=D.has(e)?{score:D.get(e),source:"known"}:"education"!==l&&t>=15?{score:6,source:"network"}:"education"!==l&&t>=5?{score:5,source:"network"}:{score:4,source:"default"},s?function(e,n,t,r,a,i){let o=F[i?.strength]||0;if(!o||!Array.isArray(i.sectors))return e;let s="people"!==t,c=r?.length&&i.sectors.find(e=>r.includes(e))||i.sectors.find(e=>s&&e===n||a?.includes(e));if(!c)return e;let l=Math.min(10,e.score+o);return l===e.score?e:{...e,score:l,base:e.score,sector:c,sectorBonus:l-e.score}}(c,l,a,i,o,s):c}let R=[String.raw`nobel (prize|laureate)`,String.raw`pulitzer( prize|[-\s](winning|winner|finalist))`,String.raw`(emmy|grammy|oscar|tony|peabody|clio|james beard|turing)[-\s](award|winning|winner|nominated|nominee|honoree)`,"academy award|webby|cannes lions|fields medal|pritzker prize|macarthur fellow|rhodes scholar",String.raw`(olympi|paralympi)(an|c (gold|silver|bronze|medalist|champion))`].join("|"),K=[[/\b(angel investor|investor|venture capital(ist)?|vc|general partner|limited partner)\b(?! relations)/i,1,"investor"],[/\by ?combinator\b|\(yc\)|\byc\b ?[wsfx]?\d{0,2}\b/i,1,"YC"],[/\b30 under 30\b/i,1,"30 under 30"],[/\b\d[\d.,]*\s?(m|b|million|billion)\+?\s*(views|followers|subscribers|impressions|users|downloads|installs|listeners|students|customers|members|reach)\b|\$?\s?\d[\d.,]*\s?(m|b|million|billion)\+?\s*(in )?(sales|revenue|arr|gmv|raised|funding)\b|\braised \$?\s?\d[\d.,]*\s?(m|b|million|billion)\b/i,.75,"reach in the millions"],[RegExp(String.raw`\b(tedx?|keynote|patents?|author of|best[-\s]?selling|award[-\s]winning|prize[-\s]winning|${R})\b`,"i"),.5,"recognition"]];function W(e=""){let n=0,t=[];for(let[r,a,i]of K)r.test(e||"")&&(n+=a,t.push(i));return{points:Math.min(1.5,n),reasons:t}}let J=e=>Math.round(10*e)/10;function V(e){return{roles:O(e),student:function(e=""){return v(e).some(e=>!f.test(e)&&(y(e)||r.test(` ${e.toLowerCase()} `)))}(e?.headline),reach:W(e?.headline)}}function Y(e,n){let t=e.title.points*(e.former?.7:1);return n?Math.min(t,3):t}function q(e,n=e=>G(e),t=V(e)){let{roles:r,student:a,reach:i}=t,o=null;for(let e of r){let t=n(e.company),r=Y(e,a),i=r*(.45+.055*t.score);(!o||i>o.core)&&(o={role:e,co:t,points:r,core:i})}let s=function(e="",n=10,t=W(e)){let{points:r}=t,a=[...t.reasons];return r&&n<=4&&(r/=2,a.push("halved: unknown company")),{points:J(r),reasons:a}}(e?.headline,o.co.base??o.co.score,i),c=J(o.core+s.points),l={...o.role.title,former:o.role.former,student:a,points:J(o.points)};o.role.former&&(l.label=`Former ${l.label}`),a&&o.role.title.level>0&&(l.label=`Student \xb7 ${l.label}`);let u={title:l,company:o.role.company,companyScore:o.co.score,companySource:o.co.source,bonus:s,power:c,tier:c>=7.5?"S":c>=5.5?"A":c>=4?"B":c>=2.5?"C":"D"};return o.co.sectorBonus&&(u.companySector={key:o.co.sector,base:o.co.base,bonus:o.co.sectorBonus}),u}e.s(["SECTOR_BONUS",0,F,"TOP_COMPANY",0,8,"currentCompany",0,function(e){return O(e).find(e=>!e.former)?.company||null},"networkCompanies",0,function(e=[],{industryOf:n,sectorsOf:t,groupOf:r,rolesOf:a=O}={}){let i=new Map,o=new Set;for(let n of e)for(let e of a(n)){let t=`${e.company}|${n.profile_url||n.id}`;if(!e.company||e.former||o.has(t))continue;o.add(t);let r=i.get(e.company)||{n:0,headlines:[]};r.n++,r.headlines.push(n.headline),i.set(e.company,r)}let s=new Map,c=new Map,l=new Map,u=new Map,b=new Map;for(let[e,a]of i){s.set(e,a.n);let{industry:i,from:o}=function(e,{industryOf:n,headlines:t=[]}={}){if(!e)return{industry:H,from:null};let r=e&&(I.get(e)||I.get(L(e)))||null;if(r)return{industry:r,from:"list"};if(!n)return{industry:H,from:null};let a=n(e,null);if(a&&a!==H)return{industry:a,from:"name"};let i=function(e=[]){let n=new Map;for(let t of e)t&&t!==H&&n.set(t,(n.get(t)||0)+1);let t=H,r=0,a=!1;for(let[e,i]of n)i>r?(t=e,r=i,a=!1):i===r&&(a=!0);return a?H:t}(t.map(e=>n(null,e)));return{industry:i,from:i===H?null:"people"}}(e,{industryOf:n,headlines:a.headlines});if(c.set(e,i),l.set(e,o),!t)continue;let m=t(e,a.headlines);u.set(e,m),r&&b.set(e,j(m,r))}return{headcount:s,industries:c,industryFrom:l,sectors:u,sectorIndustries:b}},"readTitle",0,function(e="",t=""){let r=w(e,t),a=r.find(e=>!e.former)||r[0];return a?{...a.title,part:a.part}:{...n.unknown,part:v(e||t)[0]||""}},"rolesWithCompanies",0,O,"rowCompanyScore",0,function(e,n){let t=Number(e?.company_prestige_score);return t>0?t:q(e,void 0,n??V(e)).companyScore},"scorePerson",0,q,"topCompanies",0,function(e){let n=V(e),t=function(e,n=V(e)){let t=Number(e?.company_prestige_score);if(t>0){let r=Number(e?.seniority_score),a=n.roles.filter(e=>.05>Math.abs(J(Y(e,n.student))-r)),i=String(e?.score_why||""),o=a.find(e=>e.company&&i.includes(` \xb7 ${e.company} (${t}/10`))||a.find(e=>G(e.company).score===t)||a[0];if(o)return{name:o.company,score:t,former:o.former}}let r=q(e,void 0,n);return{name:r.company,score:t>0?t:r.companyScore,former:r.title.former}}(e,n),r=e=>{if(!e)return null;let n=e===t.name?t.score:G(e).score;return n>=8?{name:e,score:n}:null},a=n.roles.filter(e=>!e.former&&e.company),i=r(!t.former&&a.some(e=>e.company===t.name)?t.name:a[0]?.company),o=null;for(let e of n.roles){if(!e.former||e.company===i?.name)continue;let n=r(e.company);n&&(!o||n.score>o.score)&&(o=n)}return{now:i,before:o}}],90179);let Z="six-degrees-csv-network";class X extends Error{}function Q({id:e,name:n,role:t,company:r,profileUrl:a,connected_date:i}){let o,s=t&&r?`${t} at ${r}`:t||r||n;return{id:e,degree:1,name:n,headline:s,role:t,company:r,profile_url:a||null,profile_image_url:null,connected_date:i,source_connection_id:null,is_catalyst:!1,catalyst_score:null,circle_power:null,circle_s_count:null,circle_a_count:null,circle_elite_pct:null,outreach_status:null,unlock_status:null,...{seniority_score:(o=q({headline:s,company:r})).title.points,company_prestige_score:o.companyScore,power_score:o.power,tier:o.tier}}}e.s(["CSV_USER",0,{id:"csv-local-user",name:"You"},"ConnectionsCsvError",0,X,"clearCsvNetwork",0,function(){try{sessionStorage.removeItem(Z)}catch{}},"csvNetworkSource",0,function(){try{let e=sessionStorage.getItem(Z);return e?JSON.parse(e).source||"csv":null}catch{return null}},"hasCsvNetwork",0,function(){try{return!!sessionStorage.getItem(Z)}catch{return!1}},"loadCsvNetwork",0,function(){try{let e=sessionStorage.getItem(Z);if(!e)return null;let n=JSON.parse(e);return{degree1:n.packed?function(e=[]){return e.map(([e,n,t,r,a,i])=>Q({id:e,name:n,role:t,company:r,profileUrl:a,connected_date:i})).sort((e,n)=>n.power_score-e.power_score)}(n.packed):n.degree1||[],degree2:n.degree2||[],source:n.source||"csv"}}catch{return null}},"parseConnectionsCsv",0,function(e){let n=function(e){let n=[],t=[],r="",a=!1;for(let i=0;i<e.length;i++){let o=e[i];if(a){'"'===o?'"'===e[i+1]?(r+='"',i++):a=!1:r+=o;continue}if('"'===o){a=!0;continue}if(","===o){t.push(r),r="";continue}if("\r"!==o){if("\n"===o){t.push(r),n.push(t),t=[],r="";continue}r+=o}}return(r.length||t.length)&&(t.push(r),n.push(t)),n}(e),t=n.findIndex(e=>{let n=e.map(e=>e.trim().toLowerCase());return n.includes("first name")&&n.includes("last name")});if(-1===t)throw new X('Could not find the Connections.csv header row (expected columns like "First Name, Last Name, URL, Company, Position"). Make sure this is the Connections.csv from your LinkedIn data export.');let r=n[t].map(e=>e.trim().toLowerCase()),a=r.indexOf("first name"),i=r.indexOf("last name"),o=r.indexOf("url"),s=r.indexOf("company"),c=r.indexOf("position"),l=r.indexOf("connected on"),u=[],b=new Set,m=0;for(let e of n.slice(t+1)){let n=n=>n>=0&&null!=e[n]?String(e[n]).trim():"",t=`${n(a)} ${n(i)}`.trim();if(!t){m++;continue}let r=n(s),d=n(c),p=n(o),h=p?function(e){let n=5381;for(let t=0;t<e.length;t++)n=(n<<5)+n+e.charCodeAt(t)|0;return`csv-${Math.abs(n).toString(36)}`}(p):`csv-row-${u.length}`;if(b.has(h)){m++;continue}b.add(h);let f=null,g=n(l);if(g){let e=new Date(g);isNaN(e.getTime())||(f=e.toISOString().split("T")[0])}u.push(Q({id:h,name:t,role:d,company:r,profileUrl:p,connected_date:f}))}if(!u.length)throw new X("That file parsed, but no connections were found in it. Double-check that it is Connections.csv from your LinkedIn data export.");return u.sort((e,n)=>n.power_score-e.power_score),{connections:u,skipped:m,total:u.length+m}},"saveCsvNetwork",0,function(e){try{return sessionStorage.setItem(Z,JSON.stringify({packed:e.map(e=>[e.id,e.name,e.role,e.company,e.profile_url,e.connected_date]),degree2:[],source:"csv",importedAt:Date.now()})),!0}catch{return!1}},"saveSessionNetwork",0,function({degree1:e=[],degree2:n=[],source:t="csv"}){try{return sessionStorage.setItem(Z,JSON.stringify({degree1:e,degree2:n,source:t,importedAt:Date.now()})),!0}catch{return!1}}],7837)},65084,e=>{"use strict";let n="six-degrees-user-id",t="six-degrees-user-name";function r(){return localStorage.getItem(n)||null}e.s(["getUserId",0,r,"getUserName",0,function(){return localStorage.getItem(t)||null},"hasUser",0,function(){return!!r()},"setUser",0,function(e,r){localStorage.setItem(n,e),localStorage.setItem(t,r)}])}]);
|
package/.next/{standalone/.next/static/chunks/34at5d2ifl62i.js → static/chunks/0ngx9s6-zgshe.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2776,e=>{"use strict";var t=e.i(43476),r=e.i(15812);e.s(["default",0,function({children:e}){let{userId:n,ready:i}=(0,r.useUser)();return i&&n?e:(0,t.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff",padding:24,textAlign:"center",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},children:i?(0,t.jsxs)("div",{style:{maxWidth:420},children:[(0,t.jsx)("div",{style:{fontSize:18,fontWeight:700,marginBottom:8},children:"Can’t reach 6 Degrees’ local server"}),(0,t.jsx)("div",{style:{color:"#888",fontSize:14,lineHeight:1.6},children:"The page loaded but the app behind it is not answering. If you started it from a terminal, check that window for an error, then reload this page."})]}):(0,t.jsx)("div",{style:{fontSize:18,fontWeight:600},children:"Loading…"})})}])},77305,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(19821),i=e.i(64745),o=e.i(22016);let l={S:25,A:15,B:10,C:5,D:2},s={S:100,A:60,B:35,C:15,D:5};var a=e.i(5258);let d={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},c="1px solid rgba(255,255,255,0.1)";function p({person:e,size:r=36,ring:n}){let i=d[e?.tier]||"#667";return(0,t.jsxs)("div",{style:{position:"relative",width:r,height:r,flexShrink:0},children:[(0,t.jsx)("div",{style:{width:r,height:r,borderRadius:"50%",background:i,color:e?.tier==="S"?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:.34*r,fontWeight:800,border:`2px solid ${n||i}`},children:(0,a.initialsFor)(e?.name||"?")}),e?.profile_image_url&&(0,t.jsx)("img",{src:e.profile_image_url,alt:"",onError:e=>{e.currentTarget.style.display="none"},style:{position:"absolute",inset:0,width:r,height:r,borderRadius:"50%",objectFit:"cover",border:`2px solid ${n||i}`}})]})}function f({progress:e,size:r=86,color:n="#FF6B35",children:i}){let o=r/2-5,l=2*Math.PI*o;return(0,t.jsxs)("div",{style:{position:"relative",width:r,height:r},children:[(0,t.jsxs)("svg",{width:r,height:r,style:{position:"absolute",inset:0,transform:"rotate(-90deg)"},children:[(0,t.jsx)("circle",{cx:r/2,cy:r/2,r:o,fill:"none",stroke:"rgba(255,255,255,0.08)",strokeWidth:5}),(0,t.jsx)("circle",{cx:r/2,cy:r/2,r:o,fill:"none",stroke:n,strokeWidth:5,strokeLinecap:"round",strokeDasharray:`${l*Math.min(1,e)} ${l}`,style:{transition:"stroke-dasharray 0.5s ease"}})]}),(0,t.jsx)("div",{style:{position:"absolute",inset:9,display:"flex",alignItems:"center",justifyContent:"center"},children:i})]})}function h({recs:e,sentIds:n,added:i,mappedIds:a,onSend:x,onUndo:b}){let y=(0,r.useMemo)(()=>(function({recs:e=[],sentIds:t=new Set,added:r=[],mappedIds:n=new Set}){var i;let o,a,d,c=new Map,p=new Set;for(let t of[...e].sort((e,t)=>(t.priority||0)-(e.priority||0))){if(!t.bridge)continue;let e=`${t.bridge.id}|${t.profile_url||t.id}`;if(p.has(e))continue;p.add(e);let r=c.get(t.bridge.id);r||(r={bridge:t.bridge,people:[]},c.set(t.bridge.id,r)),r.people.push(t)}let f=new Map;for(let e of r){let t=e.unlocked_from_bridge_id;t&&f.set(t,[...f.get(t)||[],e])}let h=[],g=0,u=0;for(let{bridge:e,people:r}of c.values()){let n=r.filter(e=>t.has(e.id)),i=f.get(e.id)||[];u+=n.length,g+=n.reduce((e,t)=>e+(l[t.tier]||2),0),g+=i.reduce((e,t)=>e+(s[t.tier]||5),0);let o=Math.ceil(r.length/5)||1,a=0;for(;a<o-1&&r.slice(5*a,(a+1)*5).every(e=>t.has(e.id));)a++;let d=r.slice(5*a,(a+1)*5),c=d.filter(e=>t.has(e.id)).length,p=c===d.length&&a===o-1;h.push({bridge:e,people:r,stage:a+1,stages:o,targets:d,done:c,progress:d.length?c/d.length:1,complete:p,sent:n.length,added:i,value:d.filter(e=>!t.has(e.id)).reduce((e,t)=>e+(t.priority||0),0),open:{S:d.filter(e=>"S"===e.tier&&!t.has(e.id)).length,A:d.filter(e=>"A"===e.tier&&!t.has(e.id)).length}})}h.sort((e,t)=>e.complete-t.complete||(t.progress>0&&t.progress<1)-(e.progress>0&&e.progress<1)||t.progress-e.progress||t.value-e.value);let x=h.filter(e=>!e.complete).flatMap(e=>e.targets.filter(e=>!t.has(e.id)).map(t=>({person:t,cluster:e,score:(t.priority||0)*(1+.6*e.progress)}))).sort((e,t)=>t.score-e.score),b=new Set,y=[];for(let e of x){let t=e.person.profile_url||e.person.id;if(!b.has(t)&&(b.add(t),y.push(e),3===y.length))break}let m=r.filter(e=>e.unlocked_from_bridge_id).length;return{clusters:h,nextMoves:y,points:g,level:(a=((o=Math.floor(Math.sqrt(Math.max(0,i=g)/40))+1)-1)**2*40,d=o**2*40,{level:o,floor:a,next:d,progress:(i-a)/(d-a)}),sentTotal:u,addedTotal:m,newDoors:r.filter(e=>e.unlocked_from_bridge_id&&!n.has(e.id)),clearedStages:h.reduce((e,t)=>e+(t.stage-1)+ +!!t.complete,0)}})({recs:e,sentIds:n,added:i,mappedIds:a}),[e,n,i,a]),[m,S]=(0,r.useState)(null),[j,v]=(0,r.useState)(null),{level:k}=y;async function w(e,t){await x(e);let r=t.done+1,n=String(t.bridge.name||"").split(/[\s,]+/)[0];v(r>=t.targets.length?`+${l[e.tier]||2} \xb7 Stage ${t.stage} of ${n}'s circle cleared — the next 5 are up`:`+${l[e.tier]||2} \xb7 ${n}'s circle ${r}/${t.targets.length}`),setTimeout(()=>v(null),3500)}let _=y.clusters.find(e=>e.bridge.id===m);return(0,t.jsxs)("div",{style:{maxWidth:1100,margin:"0 auto",padding:"16px 20px 60px"},children:[(0,t.jsxs)("div",{style:{display:"flex",gap:16,alignItems:"center",flexWrap:"wrap",padding:16,borderRadius:12,border:c,background:"linear-gradient(135deg, rgba(255,107,53,0.10), rgba(155,89,182,0.08))"},children:[(0,t.jsxs)("div",{style:{width:64,height:64,borderRadius:16,background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},children:[(0,t.jsx)("div",{style:{fontSize:10,fontWeight:800},children:"LEVEL"}),(0,t.jsx)("div",{style:{fontSize:26,fontWeight:900,lineHeight:1},children:k.level})]}),(0,t.jsxs)("div",{style:{flex:1,minWidth:220},children:[(0,t.jsxs)("div",{style:{fontSize:13,color:"#dfe6e9"},children:[(0,t.jsx)("b",{children:y.points})," points · ",(0,t.jsx)("b",{children:k.next-y.points})," to level ",k.level+1]}),(0,t.jsx)("div",{style:{height:8,borderRadius:4,background:"rgba(255,255,255,0.08)",marginTop:6,overflow:"hidden"},children:(0,t.jsx)("div",{style:{height:"100%",width:`${Math.round(100*k.progress)}%`,background:"linear-gradient(90deg, #FFD700, #FF6B35)",transition:"width 0.5s"}})}),(0,t.jsx)("div",{style:{fontSize:11.5,color:"#8b9a9a",marginTop:6},children:"Points come from invites you send and people who accept — not from browsing."})]}),[[y.sentTotal,"invites sent"],[y.addedTotal,"people added"],[y.clearedStages,"stages cleared"]].map(([e,r])=>(0,t.jsxs)("div",{style:{textAlign:"center",minWidth:80},children:[(0,t.jsx)("div",{style:{fontSize:24,fontWeight:900},children:e}),(0,t.jsx)("div",{style:{fontSize:11,color:"#8b9a9a"},children:r})]},r))]}),y.newDoors.length>0&&(0,t.jsxs)("div",{style:{marginTop:12,padding:"10px 14px",borderRadius:10,border:"1px solid rgba(0,255,136,0.3)",background:"rgba(0,255,136,0.06)",fontSize:13},children:["🚪 ",(0,t.jsxs)("b",{children:[y.newDoors.length," new ",1===y.newDoors.length?"door":"doors",":"]})," people you added through a circle, whose own circle isn’t mapped yet. That’s the next degree. ",(0,t.jsx)(o.default,{href:"/setup",style:{color:"#00ff88"},children:"Map them on the Scan page →"})]}),y.nextMoves.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h3",{style:{margin:"22px 0 10px",fontSize:15},children:"Next best moves"}),(0,t.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:12},children:y.nextMoves.map(({person:e,cluster:r},n)=>(0,t.jsxs)("div",{style:{padding:14,borderRadius:12,border:`1px solid ${d[e.tier]}55`,background:"rgba(255,255,255,0.03)",position:"relative"},children:[(0,t.jsxs)("div",{style:{position:"absolute",top:10,right:12,fontSize:11,fontWeight:800,color:"#FF6B35"},children:["#",n+1]}),(0,t.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center"},children:[(0,t.jsx)(p,{person:e,size:44}),(0,t.jsxs)("div",{style:{minWidth:0},children:[(0,t.jsx)("div",{style:{fontWeight:700,fontSize:14},children:e.name}),(0,t.jsx)("div",{style:{fontSize:11.5,color:"#8b9a9a",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:220},children:e.headline})]})]}),(0,t.jsxs)("div",{style:{fontSize:11.5,color:"#aab7b7",margin:"10px 0"},children:["via ",(0,t.jsx)("b",{style:{color:d[r.bridge.tier]},children:r.bridge.name})," · their circle ",r.done,"/",r.targets.length," this stage"]}),(0,t.jsxs)("div",{style:{display:"flex",gap:8},children:[e.profile_url&&(0,t.jsx)("a",{href:e.profile_url,target:"_blank",rel:"noopener noreferrer",style:u,children:"Open on LinkedIn"}),(0,t.jsxs)("button",{onClick:()=>w(e,r),style:g,children:["I sent an invite · +",l[e.tier]||2]})]})]},e.id))})]}),(0,t.jsx)("h3",{style:{margin:"26px 0 4px",fontSize:15},children:"Circles to work through"}),(0,t.jsxs)("div",{style:{fontSize:12,color:"#8b9a9a",marginBottom:12},children:["Each is one of your connections and the best people they know, ",5," at a time. Fill the ring to clear a stage."]}),(0,t.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(190px, 1fr))",gap:12},children:y.clusters.map(e=>{let r=m===e.bridge.id;return(0,t.jsxs)("button",{onClick:()=>S(r?null:e.bridge.id),style:{padding:12,borderRadius:12,cursor:"pointer",textAlign:"center",color:"#fff",border:r?"1px solid #FF6B35":c,background:e.complete?"rgba(0,255,136,0.06)":"rgba(255,255,255,0.03)",display:"flex",flexDirection:"column",alignItems:"center",gap:6},children:[(0,t.jsx)(f,{progress:e.progress,color:e.complete?"#00ff88":"#FF6B35",children:(0,t.jsx)(p,{person:e.bridge,size:60})}),(0,t.jsx)("div",{style:{fontWeight:700,fontSize:13,maxWidth:170,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.bridge.name}),(0,t.jsx)("div",{style:{fontSize:11,color:e.complete?"#00ff88":"#aab7b7"},children:e.complete?"Circle cleared":`Stage ${e.stage} of ${e.stages} \xb7 ${e.done}/${e.targets.length}`}),(0,t.jsx)("div",{style:{display:"flex",gap:4},children:e.targets.map(e=>(0,t.jsx)("span",{title:e.name,style:{width:12,height:12,borderRadius:"50%",border:`2px solid ${d[e.tier]||"#667"}`,background:n.has(e.id)?d[e.tier]||"#667":"transparent"}},e.id))}),(0,t.jsxs)("div",{style:{fontSize:10.5,color:"#778"},children:[e.open.S?`${e.open.S} S \xb7 `:"",e.open.A?`${e.open.A} A \xb7 `:"",e.people.length," worth adding",e.added.length?` \xb7 ★ ${e.added.length} added`:""]})]},e.bridge.id)})}),_&&(0,t.jsxs)("div",{style:{marginTop:14,padding:16,borderRadius:12,border:"1px solid rgba(255,107,53,0.4)",background:"rgba(255,107,53,0.05)"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:10},children:[(0,t.jsx)(p,{person:_.bridge,size:40}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{style:{fontWeight:800},children:[_.bridge.name,"’s circle · stage ",_.stage," of ",_.stages]}),(0,t.jsxs)("div",{style:{fontSize:12,color:"#aab7b7"},children:["Ask ",_.bridge.name?.split(" ")[0]," for an intro, or invite them directly. Mark each one when it’s sent."]})]})]}),_.targets.map(e=>{let r=n.has(e.id);return(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 0",borderTop:"1px solid rgba(255,255,255,0.05)"},children:[(0,t.jsx)(p,{person:e,size:34,ring:r?"#00ff88":void 0}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,t.jsxs)("div",{style:{fontWeight:600,fontSize:13},children:[e.name," ",(0,t.jsx)("span",{style:{color:d[e.tier],fontSize:11},children:e.tier})]}),(0,t.jsx)("div",{style:{fontSize:11.5,color:"#8b9a9a",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.headline})]}),e.profile_url&&(0,t.jsx)("a",{href:e.profile_url,target:"_blank",rel:"noopener noreferrer",style:u,children:"LinkedIn"}),r?(0,t.jsx)("button",{onClick:()=>b(e),style:{...u,color:"#00ff88"},children:"Sent ✓ (undo)"}):(0,t.jsxs)("button",{onClick:()=>w(e,_),style:g,children:["Sent · +",l[e.tier]||2]})]},e.id)}),_.added.length>0&&(0,t.jsxs)("div",{style:{marginTop:10,fontSize:12,color:"#00ff88"},children:["★ Added from this circle: ",_.added.map(e=>e.name).join(", ")]})]}),j&&(0,t.jsx)("div",{role:"status",style:{position:"fixed",bottom:24,left:"50%",transform:"translateX(-50%)",padding:"10px 18px",borderRadius:24,background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000",fontWeight:800,fontSize:13,boxShadow:"0 8px 30px rgba(0,0,0,0.5)",zIndex:50},children:j})]})}let g={padding:"7px 12px",borderRadius:8,border:"none",cursor:"pointer",fontWeight:800,fontSize:12,background:"linear-gradient(135deg, #FF6B35, #FFD700)",color:"#000"},u={padding:"7px 12px",borderRadius:8,border:c,cursor:"pointer",fontWeight:600,fontSize:12,background:"rgba(255,255,255,0.05)",color:"#dfe6e9",textDecoration:"none"};var x=e.i(2776),b=e.i(15812);let y={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},m=["snap","google","meta","apple","amazon","microsoft","netflix","tesla","spotify","tiktok","coca-cola","nike","disney","palantir","stripe","coinbase","polymarket","pinterest","whatnot","blackrock","anduril"];function S(){let{userId:e,userProfile:l}=(0,b.useUser)(),s=l?.sectors||[],[a,d]=(0,r.useState)([]),[c,p]=(0,r.useState)(!0),[f,g]=(0,r.useState)("all"),[u,x]=(0,r.useState)(new Set),[S,j]=(0,r.useState)(new Set),[v,k]=(0,r.useState)([]),[w,_]=(0,r.useState)("quest"),[F,z]=(0,r.useState)([]),[B,C]=(0,r.useState)(()=>new Set),[R,T]=(0,r.useState)(null),[A,O]=(0,r.useState)(()=>{{let e=new URLSearchParams(window.location.search);if(e.get("groupBy"))return e.get("groupBy")}return"bridge"});if((0,r.useEffect)(()=>{{let e=new URLSearchParams(window.location.search).get("bridge");e&&T(e)}},[]),(0,r.useEffect)(()=>{!i.IS_DEMO&&e&&t();async function t(){let[t,r]=await Promise.all([(0,n.loadNetwork)(e),fetch(`/api/outreach?userId=${e}`).then(e=>e.json()).catch(()=>({pending:[]}))]),i=t.degree1,o=t.degree2;z(i.filter(e=>e.unlocked_from_bridge_id)),C(new Set(o.map(e=>e.source_connection_id).filter(Boolean)));let l=new Set(i.map(e=>e.profile_url)),a={};i.forEach(e=>{a[e.id]=e}),j(new Set((r.pending||[]).map(e=>e.id))),k((r.pending||[]).map(e=>({...e,bridge:a[e.source_connection_id]||null}))),d(o.filter(e=>("S"===e.tier||"A"===e.tier||"B"===e.tier)&&!l.has(e.profile_url)).map(e=>{let t,r,n=a[e.source_connection_id],i=(t=parseFloat(e.power_score)||0,r=(e.headline||"").toLowerCase(),m.forEach(e=>{r.includes(e)&&(t+=1)}),(s||[]).forEach(e=>{r.includes(e.toLowerCase())&&(t+=.5)}),"S"===e.tier?t*=1.5:"A"===e.tier&&(t*=1.2),t),o="S"===e.tier?50:"A"===e.tier?25:10;return{...e,bridge:n,priority:i,xp:o}}).sort((e,t)=>t.priority-e.priority)),p(!1)}},[e]),i.IS_DEMO)return(0,t.jsxs)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"rgba(255,255,255,0.7)",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:10,textAlign:"center",padding:24},children:[(0,t.jsx)("h2",{style:{margin:0,fontSize:18,fontWeight:700,color:"#fff"},children:"Not part of the demo"}),(0,t.jsx)("div",{style:{fontSize:13},children:"The public demo includes the Network Circle and Degrees views only."}),(0,t.jsx)(o.default,{href:"/",style:{fontSize:12,color:"rgba(255,255,255,0.5)",textDecoration:"none"},children:"← Back to the network"})]});let W="all"===f?a:a.filter(e=>e.tier===f);R&&(W=W.filter(e=>e.bridge?.id===R));let $={S:0,A:0,B:0};a.forEach(e=>{void 0!==$[e.tier]&&$[e.tier]++});let I={};W.forEach(e=>{let t;I[t="bridge"===A?e.bridge?.id||"unknown":"company"===A?(e.company||"Unknown").trim()||"Unknown":e.tier]||(I[t]=[]),I[t].push(e)});let E={S:0,A:1,B:2},D=Object.entries(I).sort((e,t)=>{if("tier"===A)return(E[e[0]]||9)-(E[t[0]]||9);if("bridge"===A){let r=e[1][0]?.bridge,n=t[1][0]?.bridge,i=E[r?.tier]??9,o=E[n?.tier]??9;if(i!==o)return i-o}return t[1].length-e[1].length});function P(e){x(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})}return c?(0,t.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff"},children:"Loading..."}):(0,t.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,t.jsxs)("header",{style:{padding:"14px 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",flexShrink:0},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:10},children:[(0,t.jsxs)(o.default,{href:"/",style:{display:"flex",alignItems:"center",gap:6,color:"#888",textDecoration:"none",fontSize:13,fontWeight:600,padding:"6px 14px",borderRadius:6,background:"rgba(255,255,255,0.06)",border:"1px solid rgba(255,255,255,0.1)"},children:[(0,t.jsx)("span",{style:{fontSize:16},children:"←"})," Map"]}),(0,t.jsx)("h1",{style:{fontSize:20,fontWeight:700,margin:0,background:"linear-gradient(135deg, #FF6B35, #FFD700)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Outlink"}),(0,t.jsxs)("div",{style:{display:"flex",gap:2,background:"rgba(255,255,255,0.06)",borderRadius:6,padding:2},children:[(0,t.jsx)("button",{onClick:()=>_("quest"),style:{padding:"5px 12px",borderRadius:4,border:"none",fontSize:11,fontWeight:700,cursor:"pointer",background:"quest"===w?"linear-gradient(135deg, #FFD700, #FF6B35)":"transparent",color:"quest"===w?"#000":"#FFD700"},children:"Circles"}),(0,t.jsxs)("button",{onClick:()=>_("recs"),style:{padding:"5px 12px",borderRadius:4,border:"none",fontSize:11,fontWeight:600,cursor:"pointer",background:"recs"===w?"#fff":"transparent",color:"recs"===w?"#000":"#888"},children:["To Add (",a.length,")"]}),(0,t.jsxs)("button",{onClick:()=>_("pending"),style:{padding:"5px 12px",borderRadius:4,border:"none",fontSize:11,fontWeight:600,cursor:"pointer",background:"pending"===w?"linear-gradient(135deg, #FF6B35, #FFD700)":"transparent",color:"pending"===w?"#000":"#FF6B35"},children:["Pending (",v.length,")"]})]}),(0,t.jsx)("div",{style:{marginLeft:"auto",display:"flex",gap:6},children:"recs"===w&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:()=>O("tier"),style:{padding:"4px 10px",borderRadius:4,border:"none",fontSize:10,fontWeight:600,cursor:"pointer",background:"tier"===A?"rgba(255,255,255,0.15)":"rgba(255,255,255,0.05)",color:"tier"===A?"#fff":"#666"},children:"By Tier"}),(0,t.jsx)("button",{onClick:()=>O("bridge"),style:{padding:"4px 10px",borderRadius:4,border:"none",fontSize:10,fontWeight:600,cursor:"pointer",background:"bridge"===A?"rgba(255,255,255,0.15)":"rgba(255,255,255,0.05)",color:"bridge"===A?"#fff":"#666"},children:"By Bridge"}),(0,t.jsx)("button",{onClick:()=>O("company"),style:{padding:"4px 10px",borderRadius:4,border:"none",fontSize:10,fontWeight:600,cursor:"pointer",background:"company"===A?"rgba(255,255,255,0.15)":"rgba(255,255,255,0.05)",color:"company"===A?"#fff":"#666"},children:"By Company"})]})})]}),(0,t.jsx)("div",{style:{display:"quest"===w?"none":"flex",gap:6},children:[{k:"all",l:`All (${a.length})`},{k:"S",l:`S (${$.S})`,c:y.S},{k:"A",l:`A (${$.A})`,c:y.A},{k:"B",l:`B (${$.B})`,c:y.B}].map(e=>(0,t.jsx)("button",{onClick:()=>g(e.k),style:{padding:"4px 12px",borderRadius:16,border:"none",fontSize:11,fontWeight:600,cursor:"pointer",background:f===e.k?e.c||"#fff":"rgba(255,255,255,0.06)",color:f===e.k?"#000":e.c||"#888"},children:e.l},e.k))})]}),"recs"===w&&u.size>0&&(0,t.jsxs)("div",{style:{padding:"10px 24px",background:"rgba(255,215,0,0.08)",borderBottom:"1px solid rgba(255,215,0,0.2)",display:"flex",alignItems:"center",gap:12,flexShrink:0},children:[(0,t.jsxs)("span",{style:{fontSize:12,color:"#FFD700",fontWeight:600},children:[u.size," selected"]}),(0,t.jsxs)("button",{onClick:function(){let e=W.filter(e=>u.has(e.id));if(0===e.length)return;if(1===e.length)return void window.open(e[0].profile_url,"_blank");let t=new Blob([`<!DOCTYPE html><html><head><title>Outlink — ${e.length} profiles</title>
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,2776,e=>{"use strict";var t=e.i(43476),r=e.i(15812);e.s(["default",0,function({children:e}){let{userId:n,ready:i}=(0,r.useUser)();return i&&n?e:(0,t.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff",padding:24,textAlign:"center",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif'},children:i?(0,t.jsxs)("div",{style:{maxWidth:420},children:[(0,t.jsx)("div",{style:{fontSize:18,fontWeight:700,marginBottom:8},children:"Can’t reach 6 Degrees’ local server"}),(0,t.jsx)("div",{style:{color:"#888",fontSize:14,lineHeight:1.6},children:"The page loaded but the app behind it is not answering. If you started it from a terminal, check that window for an error, then reload this page."})]}):(0,t.jsx)("div",{style:{fontSize:18,fontWeight:600},children:"Loading…"})})}])},77305,e=>{"use strict";var t=e.i(43476),r=e.i(71645),n=e.i(19821),i=e.i(64745),o=e.i(22016);let l={S:25,A:15,B:10,C:5,D:2},s={S:100,A:60,B:35,C:15,D:5};var a=e.i(5258);let d={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},c="1px solid rgba(255,255,255,0.1)";function p({person:e,size:r=36,ring:n}){let i=d[e?.tier]||"#667";return(0,t.jsxs)("div",{style:{position:"relative",width:r,height:r,flexShrink:0},children:[(0,t.jsx)("div",{style:{width:r,height:r,borderRadius:"50%",background:i,color:e?.tier==="S"?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center",fontSize:.34*r,fontWeight:800,border:`2px solid ${n||i}`},children:(0,a.initialsFor)(e?.name||"?")}),e?.profile_image_url&&(0,t.jsx)("img",{src:e.profile_image_url,alt:"",onError:e=>{e.currentTarget.style.display="none"},style:{position:"absolute",inset:0,width:r,height:r,borderRadius:"50%",objectFit:"cover",border:`2px solid ${n||i}`}})]})}function f({progress:e,size:r=86,color:n="#FF6B35",children:i}){let o=r/2-5,l=2*Math.PI*o;return(0,t.jsxs)("div",{style:{position:"relative",width:r,height:r},children:[(0,t.jsxs)("svg",{width:r,height:r,style:{position:"absolute",inset:0,transform:"rotate(-90deg)"},children:[(0,t.jsx)("circle",{cx:r/2,cy:r/2,r:o,fill:"none",stroke:"rgba(255,255,255,0.08)",strokeWidth:5}),(0,t.jsx)("circle",{cx:r/2,cy:r/2,r:o,fill:"none",stroke:n,strokeWidth:5,strokeLinecap:"round",strokeDasharray:`${l*Math.min(1,e)} ${l}`,style:{transition:"stroke-dasharray 0.5s ease"}})]}),(0,t.jsx)("div",{style:{position:"absolute",inset:9,display:"flex",alignItems:"center",justifyContent:"center"},children:i})]})}function h({recs:e,sentIds:n,added:i,mappedIds:a,onSend:x,onUndo:b}){let y=(0,r.useMemo)(()=>(function({recs:e=[],sentIds:t=new Set,added:r=[],mappedIds:n=new Set}){var i;let o,a,d,c=new Map,p=new Set;for(let t of[...e].sort((e,t)=>(t.priority||0)-(e.priority||0))){if(!t.bridge)continue;let e=`${t.bridge.id}|${t.profile_url||t.id}`;if(p.has(e))continue;p.add(e);let r=c.get(t.bridge.id);r||(r={bridge:t.bridge,people:[]},c.set(t.bridge.id,r)),r.people.push(t)}let f=new Map;for(let e of r){let t=e.unlocked_from_bridge_id;t&&f.set(t,[...f.get(t)||[],e])}let h=[],g=0,u=0;for(let{bridge:e,people:r}of c.values()){let n=r.filter(e=>t.has(e.id)),i=f.get(e.id)||[];u+=n.length,g+=n.reduce((e,t)=>e+(l[t.tier]||2),0),g+=i.reduce((e,t)=>e+(s[t.tier]||5),0);let o=Math.ceil(r.length/5)||1,a=0;for(;a<o-1&&r.slice(5*a,(a+1)*5).every(e=>t.has(e.id));)a++;let d=r.slice(5*a,(a+1)*5),c=d.filter(e=>t.has(e.id)).length,p=c===d.length&&a===o-1;h.push({bridge:e,people:r,stage:a+1,stages:o,targets:d,done:c,progress:d.length?c/d.length:1,complete:p,sent:n.length,added:i,value:d.filter(e=>!t.has(e.id)).reduce((e,t)=>e+(t.priority||0),0),open:{S:d.filter(e=>"S"===e.tier&&!t.has(e.id)).length,A:d.filter(e=>"A"===e.tier&&!t.has(e.id)).length}})}h.sort((e,t)=>e.complete-t.complete||(t.progress>0&&t.progress<1)-(e.progress>0&&e.progress<1)||t.progress-e.progress||t.value-e.value);let x=h.filter(e=>!e.complete).flatMap(e=>e.targets.filter(e=>!t.has(e.id)).map(t=>({person:t,cluster:e,score:(t.priority||0)*(1+.6*e.progress)}))).sort((e,t)=>t.score-e.score),b=new Set,y=[];for(let e of x){let t=e.person.profile_url||e.person.id;if(!b.has(t)&&(b.add(t),y.push(e),3===y.length))break}let m=r.filter(e=>e.unlocked_from_bridge_id).length;return{clusters:h,nextMoves:y,points:g,level:(a=((o=Math.floor(Math.sqrt(Math.max(0,i=g)/40))+1)-1)**2*40,d=o**2*40,{level:o,floor:a,next:d,progress:(i-a)/(d-a)}),sentTotal:u,addedTotal:m,newDoors:r.filter(e=>e.unlocked_from_bridge_id&&!n.has(e.id)),clearedStages:h.reduce((e,t)=>e+(t.stage-1)+ +!!t.complete,0)}})({recs:e,sentIds:n,added:i,mappedIds:a}),[e,n,i,a]),[m,S]=(0,r.useState)(null),[j,v]=(0,r.useState)(null),{level:k}=y;async function w(e,t){await x(e);let r=t.done+1,n=String(t.bridge.name||"").split(/[\s,]+/)[0];v(r>=t.targets.length?`+${l[e.tier]||2} \xb7 Stage ${t.stage} of ${n}'s circle cleared — the next 5 are up`:`+${l[e.tier]||2} \xb7 ${n}'s circle ${r}/${t.targets.length}`),setTimeout(()=>v(null),3500)}let _=y.clusters.find(e=>e.bridge.id===m);return(0,t.jsxs)("div",{style:{maxWidth:1100,margin:"0 auto",padding:"16px 20px 60px"},children:[(0,t.jsxs)("div",{style:{display:"flex",gap:16,alignItems:"center",flexWrap:"wrap",padding:16,borderRadius:12,border:c,background:"linear-gradient(135deg, rgba(255,107,53,0.10), rgba(155,89,182,0.08))"},children:[(0,t.jsxs)("div",{style:{width:64,height:64,borderRadius:16,background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},children:[(0,t.jsx)("div",{style:{fontSize:10,fontWeight:800},children:"LEVEL"}),(0,t.jsx)("div",{style:{fontSize:26,fontWeight:900,lineHeight:1},children:k.level})]}),(0,t.jsxs)("div",{style:{flex:1,minWidth:220},children:[(0,t.jsxs)("div",{style:{fontSize:13,color:"#dfe6e9"},children:[(0,t.jsx)("b",{children:y.points})," points · ",(0,t.jsx)("b",{children:k.next-y.points})," to level ",k.level+1]}),(0,t.jsx)("div",{style:{height:8,borderRadius:4,background:"rgba(255,255,255,0.08)",marginTop:6,overflow:"hidden"},children:(0,t.jsx)("div",{style:{height:"100%",width:`${Math.round(100*k.progress)}%`,background:"linear-gradient(90deg, #FFD700, #FF6B35)",transition:"width 0.5s"}})}),(0,t.jsx)("div",{style:{fontSize:11.5,color:"#8b9a9a",marginTop:6},children:"Points come from invites you send and people who accept — not from browsing."})]}),[[y.sentTotal,"invites sent"],[y.addedTotal,"people added"],[y.clearedStages,"stages cleared"]].map(([e,r])=>(0,t.jsxs)("div",{style:{textAlign:"center",minWidth:80},children:[(0,t.jsx)("div",{style:{fontSize:24,fontWeight:900},children:e}),(0,t.jsx)("div",{style:{fontSize:11,color:"#8b9a9a"},children:r})]},r))]}),y.newDoors.length>0&&(0,t.jsxs)("div",{style:{marginTop:12,padding:"10px 14px",borderRadius:10,border:"1px solid rgba(0,255,136,0.3)",background:"rgba(0,255,136,0.06)",fontSize:13},children:["🚪 ",(0,t.jsxs)("b",{children:[y.newDoors.length," new ",1===y.newDoors.length?"door":"doors",":"]})," people you added through a circle, whose own circle isn’t mapped yet. That’s the next degree. ",(0,t.jsx)(o.default,{href:"/setup",style:{color:"#00ff88"},children:"Map them on the Scan page →"})]}),y.nextMoves.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("h3",{style:{margin:"22px 0 10px",fontSize:15},children:"Next best moves"}),(0,t.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(300px, 1fr))",gap:12},children:y.nextMoves.map(({person:e,cluster:r},n)=>(0,t.jsxs)("div",{style:{padding:14,borderRadius:12,border:`1px solid ${d[e.tier]}55`,background:"rgba(255,255,255,0.03)",position:"relative"},children:[(0,t.jsxs)("div",{style:{position:"absolute",top:10,right:12,fontSize:11,fontWeight:800,color:"#FF6B35"},children:["#",n+1]}),(0,t.jsxs)("div",{style:{display:"flex",gap:10,alignItems:"center"},children:[(0,t.jsx)(p,{person:e,size:44}),(0,t.jsxs)("div",{style:{minWidth:0},children:[(0,t.jsx)("div",{style:{fontWeight:700,fontSize:14},children:e.name}),(0,t.jsx)("div",{style:{fontSize:11.5,color:"#8b9a9a",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:220},children:e.headline})]})]}),(0,t.jsxs)("div",{style:{fontSize:11.5,color:"#aab7b7",margin:"10px 0"},children:["via ",(0,t.jsx)("b",{style:{color:d[r.bridge.tier]},children:r.bridge.name})," · their circle ",r.done,"/",r.targets.length," this stage"]}),(0,t.jsxs)("div",{style:{display:"flex",gap:8},children:[e.profile_url&&(0,t.jsx)("a",{href:e.profile_url,target:"_blank",rel:"noopener noreferrer",style:u,children:"Open on LinkedIn"}),(0,t.jsxs)("button",{onClick:()=>w(e,r),style:g,children:["I sent an invite · +",l[e.tier]||2]})]})]},e.id))})]}),(0,t.jsx)("h3",{style:{margin:"26px 0 4px",fontSize:15},children:"Circles to work through"}),(0,t.jsxs)("div",{style:{fontSize:12,color:"#8b9a9a",marginBottom:12},children:["Each is one of your connections and the best people they know, ",5," at a time. Fill the ring to clear a stage."]}),(0,t.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(190px, 1fr))",gap:12},children:y.clusters.map(e=>{let r=m===e.bridge.id;return(0,t.jsxs)("button",{onClick:()=>S(r?null:e.bridge.id),style:{padding:12,borderRadius:12,cursor:"pointer",textAlign:"center",color:"#fff",border:r?"1px solid #FF6B35":c,background:e.complete?"rgba(0,255,136,0.06)":"rgba(255,255,255,0.03)",display:"flex",flexDirection:"column",alignItems:"center",gap:6},children:[(0,t.jsx)(f,{progress:e.progress,color:e.complete?"#00ff88":"#FF6B35",children:(0,t.jsx)(p,{person:e.bridge,size:60})}),(0,t.jsx)("div",{style:{fontWeight:700,fontSize:13,maxWidth:170,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.bridge.name}),(0,t.jsx)("div",{style:{fontSize:11,color:e.complete?"#00ff88":"#aab7b7"},children:e.complete?"Circle cleared":`Stage ${e.stage} of ${e.stages} \xb7 ${e.done}/${e.targets.length}`}),(0,t.jsx)("div",{style:{display:"flex",gap:4},children:e.targets.map(e=>(0,t.jsx)("span",{title:e.name,style:{width:12,height:12,borderRadius:"50%",border:`2px solid ${d[e.tier]||"#667"}`,background:n.has(e.id)?d[e.tier]||"#667":"transparent"}},e.id))}),(0,t.jsxs)("div",{style:{fontSize:10.5,color:"#778"},children:[e.open.S?`${e.open.S} S \xb7 `:"",e.open.A?`${e.open.A} A \xb7 `:"",e.people.length," worth adding",e.added.length?` \xb7 ★ ${e.added.length} added`:""]})]},e.bridge.id)})}),_&&(0,t.jsxs)("div",{style:{marginTop:14,padding:16,borderRadius:12,border:"1px solid rgba(255,107,53,0.4)",background:"rgba(255,107,53,0.05)"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,marginBottom:10},children:[(0,t.jsx)(p,{person:_.bridge,size:40}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{style:{fontWeight:800},children:[_.bridge.name,"’s circle · stage ",_.stage," of ",_.stages]}),(0,t.jsxs)("div",{style:{fontSize:12,color:"#aab7b7"},children:["Ask ",_.bridge.name?.split(" ")[0]," for an intro, or invite them directly. Mark each one when it’s sent."]})]})]}),_.targets.map(e=>{let r=n.has(e.id);return(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"8px 0",borderTop:"1px solid rgba(255,255,255,0.05)"},children:[(0,t.jsx)(p,{person:e,size:34,ring:r?"#00ff88":void 0}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,t.jsxs)("div",{style:{fontWeight:600,fontSize:13},children:[e.name," ",(0,t.jsx)("span",{style:{color:d[e.tier],fontSize:11},children:e.tier})]}),(0,t.jsx)("div",{style:{fontSize:11.5,color:"#8b9a9a",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.headline})]}),e.profile_url&&(0,t.jsx)("a",{href:e.profile_url,target:"_blank",rel:"noopener noreferrer",style:u,children:"LinkedIn"}),r?(0,t.jsx)("button",{onClick:()=>b(e),style:{...u,color:"#00ff88"},children:"Sent ✓ (undo)"}):(0,t.jsxs)("button",{onClick:()=>w(e,_),style:g,children:["Sent · +",l[e.tier]||2]})]},e.id)}),_.added.length>0&&(0,t.jsxs)("div",{style:{marginTop:10,fontSize:12,color:"#00ff88"},children:["★ Added from this circle: ",_.added.map(e=>e.name).join(", ")]})]}),j&&(0,t.jsx)("div",{role:"status",style:{position:"fixed",bottom:24,left:"50%",transform:"translateX(-50%)",padding:"10px 18px",borderRadius:24,background:"linear-gradient(135deg, #FFD700, #FF6B35)",color:"#000",fontWeight:800,fontSize:13,boxShadow:"0 8px 30px rgba(0,0,0,0.5)",zIndex:50},children:j})]})}let g={padding:"7px 12px",borderRadius:8,border:"none",cursor:"pointer",fontWeight:800,fontSize:12,background:"linear-gradient(135deg, #FF6B35, #FFD700)",color:"#000"},u={padding:"7px 12px",borderRadius:8,border:c,cursor:"pointer",fontWeight:600,fontSize:12,background:"rgba(255,255,255,0.05)",color:"#dfe6e9",textDecoration:"none"};var x=e.i(2776),b=e.i(15812),y=e.i(90179);let m={S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"};function S(){let{userId:e,userProfile:l}=(0,b.useUser)(),s=l?.sectors||[],[a,d]=(0,r.useState)([]),[c,p]=(0,r.useState)(!0),[f,g]=(0,r.useState)("all"),[u,x]=(0,r.useState)(new Set),[S,j]=(0,r.useState)(new Set),[v,k]=(0,r.useState)([]),[w,_]=(0,r.useState)("quest"),[F,C]=(0,r.useState)([]),[B,z]=(0,r.useState)(()=>new Set),[R,T]=(0,r.useState)(null),[A,O]=(0,r.useState)(()=>{{let e=new URLSearchParams(window.location.search);if(e.get("groupBy"))return e.get("groupBy")}return"bridge"});if((0,r.useEffect)(()=>{{let e=new URLSearchParams(window.location.search).get("bridge");e&&T(e)}},[]),(0,r.useEffect)(()=>{!i.IS_DEMO&&e&&t();async function t(){let[t,r]=await Promise.all([(0,n.loadNetwork)(e),fetch(`/api/outreach?userId=${e}`).then(e=>e.json()).catch(()=>({pending:[]}))]),i=t.degree1,o=t.degree2;C(i.filter(e=>e.unlocked_from_bridge_id)),z(new Set(o.map(e=>e.source_connection_id).filter(Boolean)));let l=new Set(i.map(e=>e.profile_url)),a={};i.forEach(e=>{a[e.id]=e}),j(new Set((r.pending||[]).map(e=>e.id))),k((r.pending||[]).map(e=>({...e,bridge:a[e.source_connection_id]||null}))),d(o.filter(e=>("S"===e.tier||"A"===e.tier||"B"===e.tier)&&!l.has(e.profile_url)).map(e=>{let t,r,n=a[e.source_connection_id],i=(t=parseFloat(e.power_score)||0,r=(e.headline||"").toLowerCase(),(0,y.rowCompanyScore)(e)>=y.TOP_COMPANY&&(t+=1),(s||[]).forEach(e=>{r.includes(e.toLowerCase())&&(t+=.5)}),"S"===e.tier?t*=1.5:"A"===e.tier&&(t*=1.2),t),o="S"===e.tier?50:"A"===e.tier?25:10;return{...e,bridge:n,priority:i,xp:o}}).sort((e,t)=>t.priority-e.priority)),p(!1)}},[e]),i.IS_DEMO)return(0,t.jsxs)("div",{style:{minHeight:"100vh",background:"#0a0a1a",color:"rgba(255,255,255,0.7)",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:10,textAlign:"center",padding:24},children:[(0,t.jsx)("h2",{style:{margin:0,fontSize:18,fontWeight:700,color:"#fff"},children:"Not part of the demo"}),(0,t.jsx)("div",{style:{fontSize:13},children:"The public demo includes the Network Circle and Degrees views only."}),(0,t.jsx)(o.default,{href:"/",style:{fontSize:12,color:"rgba(255,255,255,0.5)",textDecoration:"none"},children:"← Back to the network"})]});let W="all"===f?a:a.filter(e=>e.tier===f);R&&(W=W.filter(e=>e.bridge?.id===R));let $={S:0,A:0,B:0};a.forEach(e=>{void 0!==$[e.tier]&&$[e.tier]++});let I={};W.forEach(e=>{let t;I[t="bridge"===A?e.bridge?.id||"unknown":"company"===A?(e.company||"Unknown").trim()||"Unknown":e.tier]||(I[t]=[]),I[t].push(e)});let E={S:0,A:1,B:2},D=Object.entries(I).sort((e,t)=>{if("tier"===A)return(E[e[0]]||9)-(E[t[0]]||9);if("bridge"===A){let r=e[1][0]?.bridge,n=t[1][0]?.bridge,i=E[r?.tier]??9,o=E[n?.tier]??9;if(i!==o)return i-o}return t[1].length-e[1].length});function P(e){x(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})}return c?(0,t.jsx)("div",{style:{minHeight:"100vh",display:"flex",alignItems:"center",justifyContent:"center",background:"#0a0a1a",color:"#fff"},children:"Loading..."}):(0,t.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,t.jsxs)("header",{style:{padding:"14px 24px",borderBottom:"1px solid rgba(255,255,255,0.1)",flexShrink:0},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:12,marginBottom:10},children:[(0,t.jsxs)(o.default,{href:"/",style:{display:"flex",alignItems:"center",gap:6,color:"#888",textDecoration:"none",fontSize:13,fontWeight:600,padding:"6px 14px",borderRadius:6,background:"rgba(255,255,255,0.06)",border:"1px solid rgba(255,255,255,0.1)"},children:[(0,t.jsx)("span",{style:{fontSize:16},children:"←"})," Map"]}),(0,t.jsx)("h1",{style:{fontSize:20,fontWeight:700,margin:0,background:"linear-gradient(135deg, #FF6B35, #FFD700)",WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent"},children:"Outlink"}),(0,t.jsxs)("div",{style:{display:"flex",gap:2,background:"rgba(255,255,255,0.06)",borderRadius:6,padding:2},children:[(0,t.jsx)("button",{onClick:()=>_("quest"),style:{padding:"5px 12px",borderRadius:4,border:"none",fontSize:11,fontWeight:700,cursor:"pointer",background:"quest"===w?"linear-gradient(135deg, #FFD700, #FF6B35)":"transparent",color:"quest"===w?"#000":"#FFD700"},children:"Circles"}),(0,t.jsxs)("button",{onClick:()=>_("recs"),style:{padding:"5px 12px",borderRadius:4,border:"none",fontSize:11,fontWeight:600,cursor:"pointer",background:"recs"===w?"#fff":"transparent",color:"recs"===w?"#000":"#888"},children:["To Add (",a.length,")"]}),(0,t.jsxs)("button",{onClick:()=>_("pending"),style:{padding:"5px 12px",borderRadius:4,border:"none",fontSize:11,fontWeight:600,cursor:"pointer",background:"pending"===w?"linear-gradient(135deg, #FF6B35, #FFD700)":"transparent",color:"pending"===w?"#000":"#FF6B35"},children:["Pending (",v.length,")"]})]}),(0,t.jsx)("div",{style:{marginLeft:"auto",display:"flex",gap:6},children:"recs"===w&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:()=>O("tier"),style:{padding:"4px 10px",borderRadius:4,border:"none",fontSize:10,fontWeight:600,cursor:"pointer",background:"tier"===A?"rgba(255,255,255,0.15)":"rgba(255,255,255,0.05)",color:"tier"===A?"#fff":"#666"},children:"By Tier"}),(0,t.jsx)("button",{onClick:()=>O("bridge"),style:{padding:"4px 10px",borderRadius:4,border:"none",fontSize:10,fontWeight:600,cursor:"pointer",background:"bridge"===A?"rgba(255,255,255,0.15)":"rgba(255,255,255,0.05)",color:"bridge"===A?"#fff":"#666"},children:"By Bridge"}),(0,t.jsx)("button",{onClick:()=>O("company"),style:{padding:"4px 10px",borderRadius:4,border:"none",fontSize:10,fontWeight:600,cursor:"pointer",background:"company"===A?"rgba(255,255,255,0.15)":"rgba(255,255,255,0.05)",color:"company"===A?"#fff":"#666"},children:"By Company"})]})})]}),(0,t.jsx)("div",{style:{display:"quest"===w?"none":"flex",gap:6},children:[{k:"all",l:`All (${a.length})`},{k:"S",l:`S (${$.S})`,c:m.S},{k:"A",l:`A (${$.A})`,c:m.A},{k:"B",l:`B (${$.B})`,c:m.B}].map(e=>(0,t.jsx)("button",{onClick:()=>g(e.k),style:{padding:"4px 12px",borderRadius:16,border:"none",fontSize:11,fontWeight:600,cursor:"pointer",background:f===e.k?e.c||"#fff":"rgba(255,255,255,0.06)",color:f===e.k?"#000":e.c||"#888"},children:e.l},e.k))})]}),"recs"===w&&u.size>0&&(0,t.jsxs)("div",{style:{padding:"10px 24px",background:"rgba(255,215,0,0.08)",borderBottom:"1px solid rgba(255,215,0,0.2)",display:"flex",alignItems:"center",gap:12,flexShrink:0},children:[(0,t.jsxs)("span",{style:{fontSize:12,color:"#FFD700",fontWeight:600},children:[u.size," selected"]}),(0,t.jsxs)("button",{onClick:function(){let e=W.filter(e=>u.has(e.id));if(0===e.length)return;if(1===e.length)return void window.open(e[0].profile_url,"_blank");let t=new Blob([`<!DOCTYPE html><html><head><title>Outlink — ${e.length} profiles</title>
|
|
2
2
|
<style>body{background:#0a0a1a;color:#fff;font-family:-apple-system,sans-serif;padding:24px;margin:0}
|
|
3
3
|
h2{color:#FFD700;margin-bottom:4px}p{color:#888;font-size:13px;margin-bottom:16px}
|
|
4
4
|
.btn{display:block;padding:12px 16px;margin-bottom:6px;background:rgba(255,255,255,0.06);
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<button class="open-all" onclick="document.querySelectorAll('.btn').forEach((a,i)=>setTimeout(()=>a.click(),i*300))">
|
|
13
13
|
Open All (${e.length})</button>
|
|
14
14
|
${e.map(e=>{let t="S"===e.tier?"#FFD700":"A"===e.tier?"#9B59B6":"#3498DB";return'<a class="btn" href="'+e.profile_url+'" target="_blank"><span class="name">'+(e.name||"")+'</span><span class="tier" style="color:'+t+'">'+e.tier+" · "+parseFloat(e.power_score||0).toFixed(1)+'</span><br><span style="color:#666;font-size:11px">'+(e.headline||"").substring(0,60)+"</span></a>"}).join("")}
|
|
15
|
-
</body></html>`],{type:"text/html"});window.open(URL.createObjectURL(t),"_blank")},style:{padding:"6px 16px",borderRadius:6,border:"none",cursor:"pointer",background:"#0077B5",color:"#fff",fontWeight:700,fontSize:12},children:["Open ",u.size," on LinkedIn"]}),(0,t.jsxs)("span",{style:{fontSize:10,color:"#888"},children:["+",W.filter(e=>u.has(e.id)).reduce((e,t)=>e+t.xp,0)," XP potential"]}),(0,t.jsx)("button",{onClick:()=>x(new Set),style:{marginLeft:"auto",background:"none",border:"none",color:"#888",cursor:"pointer",fontSize:11},children:"Clear"})]}),"quest"===w&&(0,t.jsx)("div",{style:{flex:1,overflow:"auto"},children:(0,t.jsx)(h,{recs:a,sentIds:S,added:F,mappedIds:B,onSend:async t=>{try{await fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark-sent",connectionId:t.id,profileUrl:t.profile_url,userId:e})}),j(e=>new Set([...e,t.id])),k(e=>e.some(e=>e.id===t.id)?e:[...e,t])}catch{}},onUndo:async t=>{try{await fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"undo",connectionId:t.id,userId:e})}),j(e=>{let r=new Set(e);return r.delete(t.id),r}),k(e=>e.filter(e=>e.id!==t.id))}catch{}}})}),"quest"!==w&&(0,t.jsx)("div",{style:{flex:1,overflow:"auto",padding:"12px 24px"},children:(0,t.jsxs)("div",{style:{maxWidth:700,margin:"0 auto"},children:["pending"===w&&(0,t.jsx)(t.Fragment,{children:0===v.length?(0,t.jsxs)("div",{style:{textAlign:"center",padding:40,color:"#555"},children:[(0,t.jsx)("div",{style:{fontSize:32,marginBottom:8},children:"⏳"}),(0,t.jsx)("div",{style:{fontSize:14,fontWeight:600},children:"No pending requests"}),(0,t.jsx)("div",{style:{fontSize:11,color:"#444",marginTop:4},children:'Click "Add" on someone to track your outreach'})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{style:{fontSize:10,color:"#666",marginBottom:12},children:"Waiting for response. When they accept, their cluster unlocks for bridging."}),v.map(e=>(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 12px",marginBottom:4,background:"rgba(255,107,53,0.04)",borderRadius:8,border:"1px solid rgba(255,107,53,0.1)"},children:[e.profile_image_url?(0,t.jsx)("img",{src:e.profile_image_url,alt:"",style:{width:36,height:36,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`2px solid ${
|
|
15
|
+
</body></html>`],{type:"text/html"});window.open(URL.createObjectURL(t),"_blank")},style:{padding:"6px 16px",borderRadius:6,border:"none",cursor:"pointer",background:"#0077B5",color:"#fff",fontWeight:700,fontSize:12},children:["Open ",u.size," on LinkedIn"]}),(0,t.jsxs)("span",{style:{fontSize:10,color:"#888"},children:["+",W.filter(e=>u.has(e.id)).reduce((e,t)=>e+t.xp,0)," XP potential"]}),(0,t.jsx)("button",{onClick:()=>x(new Set),style:{marginLeft:"auto",background:"none",border:"none",color:"#888",cursor:"pointer",fontSize:11},children:"Clear"})]}),"quest"===w&&(0,t.jsx)("div",{style:{flex:1,overflow:"auto"},children:(0,t.jsx)(h,{recs:a,sentIds:S,added:F,mappedIds:B,onSend:async t=>{try{await fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark-sent",connectionId:t.id,profileUrl:t.profile_url,userId:e})}),j(e=>new Set([...e,t.id])),k(e=>e.some(e=>e.id===t.id)?e:[...e,t])}catch{}},onUndo:async t=>{try{await fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"undo",connectionId:t.id,userId:e})}),j(e=>{let r=new Set(e);return r.delete(t.id),r}),k(e=>e.filter(e=>e.id!==t.id))}catch{}}})}),"quest"!==w&&(0,t.jsx)("div",{style:{flex:1,overflow:"auto",padding:"12px 24px"},children:(0,t.jsxs)("div",{style:{maxWidth:700,margin:"0 auto"},children:["pending"===w&&(0,t.jsx)(t.Fragment,{children:0===v.length?(0,t.jsxs)("div",{style:{textAlign:"center",padding:40,color:"#555"},children:[(0,t.jsx)("div",{style:{fontSize:32,marginBottom:8},children:"⏳"}),(0,t.jsx)("div",{style:{fontSize:14,fontWeight:600},children:"No pending requests"}),(0,t.jsx)("div",{style:{fontSize:11,color:"#444",marginTop:4},children:'Click "Add" on someone to track your outreach'})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{style:{fontSize:10,color:"#666",marginBottom:12},children:"Waiting for response. When they accept, their cluster unlocks for bridging."}),v.map(e=>(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10,padding:"10px 12px",marginBottom:4,background:"rgba(255,107,53,0.04)",borderRadius:8,border:"1px solid rgba(255,107,53,0.1)"},children:[e.profile_image_url?(0,t.jsx)("img",{src:e.profile_image_url,alt:"",style:{width:36,height:36,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`2px solid ${m[e.tier]||"#555"}`},onError:e=>{e.target.style.display="none"}}):(0,t.jsx)("div",{style:{width:36,height:36,borderRadius:"50%",flexShrink:0,fontSize:14,fontWeight:700,background:m[e.tier]||"#555",color:"S"===e.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:e.name?.charAt(0)}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:13,fontWeight:600},children:e.name}),(0,t.jsx)("div",{style:{fontSize:10,color:"#888",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.headline?.substring(0,55)}),e.bridge&&(0,t.jsxs)("div",{style:{fontSize:9,color:"#FF6B35",marginTop:2},children:["via ",e.bridge.name?.split(" ")[0]," · unlocks bridge cluster"]})]}),(0,t.jsxs)("div",{style:{textAlign:"center",flexShrink:0},children:[(0,t.jsx)("div",{style:{fontSize:10,fontWeight:800,color:m[e.tier],padding:"2px 8px",borderRadius:4,background:`${m[e.tier]||"#555"}15`},children:e.tier}),(0,t.jsx)("div",{style:{fontSize:8,color:"#FF6B35",marginTop:2,fontWeight:600},children:"PENDING"})]}),(0,t.jsxs)("div",{style:{display:"flex",gap:4,flexShrink:0},children:[(0,t.jsx)("a",{href:e.profile_url,target:"_blank",rel:"noopener noreferrer",style:{padding:"4px 8px",borderRadius:4,fontSize:9,fontWeight:700,background:"#0077B5",color:"#fff",textDecoration:"none"},children:"View"}),(0,t.jsx)("button",{onClick:async()=>{await fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"undo",connectionId:e.id})}),k(t=>t.filter(t=>t.id!==e.id)),j(t=>{let r=new Set(t);return r.delete(e.id),r})},style:{padding:"4px 8px",borderRadius:4,fontSize:9,fontWeight:600,background:"rgba(255,255,255,0.06)",color:"#666",border:"none",cursor:"pointer"},children:"Undo"})]})]},e.id))]})}),"recs"===w&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:8},children:[(0,t.jsx)("input",{type:"checkbox",checked:u.size===W.length&&W.length>0,onChange:function(){u.size===W.length?x(new Set):x(new Set(W.map(e=>e.id)))},style:{cursor:"pointer"}}),(0,t.jsxs)("span",{style:{fontSize:10,color:"#666"},children:["Select all (",W.length,")"]})]}),D.map(([e,r])=>(0,t.jsxs)("div",{style:{marginBottom:16},children:["bridge"===A?(()=>{let e=r[0]?.bridge;if(!e)return null;let n=r.filter(e=>"S"===e.tier).length,i=r.filter(e=>"A"===e.tier).length,o=r.filter(e=>"B"===e.tier).length,l=3*n+2*i+o;return(0,t.jsxs)("div",{style:{padding:"10px 12px",marginBottom:6,borderRadius:8,background:`${m[e.tier]||"#555"}08`,border:`1px solid ${m[e.tier]||"#555"}20`},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:10},children:[e.profile_image_url?(0,t.jsx)("img",{src:e.profile_image_url,alt:"",style:{width:36,height:36,borderRadius:"50%",objectFit:"cover",border:`2px solid ${m[e.tier]}`},onError:e=>{e.target.style.display="none"}}):(0,t.jsx)("div",{style:{width:36,height:36,borderRadius:"50%",fontSize:14,fontWeight:700,background:m[e.tier],color:"S"===e.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:e.name?.charAt(0)}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,t.jsx)("div",{style:{fontSize:13,fontWeight:700,color:"#fff"},children:e.name}),(0,t.jsx)("div",{style:{fontSize:9,color:"#888",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.headline?.substring(0,50)})]}),(0,t.jsxs)("div",{style:{textAlign:"right",flexShrink:0},children:[(0,t.jsx)("div",{style:{fontSize:11,fontWeight:800,color:m[e.tier]},children:e.tier}),(0,t.jsxs)("div",{style:{fontSize:8,color:"#666"},children:[r.length," to add"]})]})]}),(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginTop:8},children:[(0,t.jsxs)("div",{style:{display:"flex",gap:4,fontSize:9},children:[n>0&&(0,t.jsxs)("span",{style:{color:"#FFD700",fontWeight:700},children:[n,"S"]}),i>0&&(0,t.jsxs)("span",{style:{color:"#9B59B6",fontWeight:700},children:[i,"A"]}),o>0&&(0,t.jsxs)("span",{style:{color:"#3498DB",fontWeight:700},children:[o,"B"]})]}),(0,t.jsx)("div",{style:{flex:1,height:4,background:"rgba(255,255,255,0.06)",borderRadius:2},children:(0,t.jsx)("div",{style:{height:"100%",borderRadius:2,width:`${Math.min(100,l/30*100)}%`,background:`linear-gradient(90deg, ${m[e.tier]}, #FF6B35)`}})}),(0,t.jsxs)("button",{onClick:()=>{let e=r.map(e=>e.profile_url);if(1===e.length)return void window.open(e[0],"_blank");let t=`<!DOCTYPE html><html><head><title>Top ${Math.min(10,e.length)}</title>
|
|
16
16
|
<style>body{background:#0a0a1a;color:#fff;font-family:-apple-system,sans-serif;padding:24px}
|
|
17
17
|
.btn{display:block;padding:10px 14px;margin-bottom:4px;background:rgba(255,255,255,0.06);
|
|
18
18
|
border:1px solid rgba(255,255,255,0.1);border-radius:6px;color:#fff;text-decoration:none;font-size:12px}
|
|
@@ -21,13 +21,13 @@
|
|
|
21
21
|
font-weight:700;font-size:13px;cursor:pointer;border:none;margin-bottom:16px}</style></head>
|
|
22
22
|
<body><h3 style="color:#FF6B35">Top ${Math.min(10,e.length)} to connect</h3>
|
|
23
23
|
<button class="oa" onclick="document.querySelectorAll('.btn').forEach((a,i)=>setTimeout(()=>a.click(),i*300))">
|
|
24
|
-
Open All</button>${e.slice(0,10).map(e=>'<a class="btn" href="'+e+'" target="_blank">'+e.split("/in/")[1]?.replace("/","")+"</a>").join("")}</body></html>`;window.open(URL.createObjectURL(new Blob([t],{type:"text/html"})),"_blank")},style:{padding:"4px 10px",borderRadius:4,border:"none",cursor:"pointer",background:"#0077B5",color:"#fff",fontSize:9,fontWeight:700,whiteSpace:"nowrap"},children:["Open Top ",Math.min(10,r.length)]})]})]})})():(0,t.jsxs)("div",{style:{padding:"6px 10px",marginBottom:4,background:"tier"===A?`${
|
|
24
|
+
Open All</button>${e.slice(0,10).map(e=>'<a class="btn" href="'+e+'" target="_blank">'+e.split("/in/")[1]?.replace("/","")+"</a>").join("")}</body></html>`;window.open(URL.createObjectURL(new Blob([t],{type:"text/html"})),"_blank")},style:{padding:"4px 10px",borderRadius:4,border:"none",cursor:"pointer",background:"#0077B5",color:"#fff",fontSize:9,fontWeight:700,whiteSpace:"nowrap"},children:["Open Top ",Math.min(10,r.length)]})]})]})})():(0,t.jsxs)("div",{style:{padding:"6px 10px",marginBottom:4,background:"tier"===A?`${m[e]||"#555"}15`:"rgba(255,255,255,0.04)",borderLeft:`3px solid ${"tier"===A?m[e]||"#555":"#FF6B35"}`,borderRadius:4,display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,t.jsx)("span",{style:{fontSize:11,fontWeight:700,color:"tier"===A?m[e]||"#888":"#FF6B35"},children:"tier"===A?`${e}-Tier`:e}),(0,t.jsx)("span",{style:{fontSize:10,color:"#666"},children:r.length})]}),"bridge"===A?["S","A","B"].map(e=>{let n=r.filter(t=>t.tier===e);return 0===n.length?null:(0,t.jsxs)("div",{style:{marginBottom:6},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,padding:"3px 8px",marginBottom:2,borderLeft:`2px solid ${m[e]}`},children:[(0,t.jsx)("input",{type:"checkbox",checked:n.every(e=>u.has(e.id)),onChange:()=>{let e=n.every(e=>u.has(e.id));x(t=>{let r=new Set(t);return n.forEach(t=>{e?r.delete(t.id):r.add(t.id)}),r})},style:{cursor:"pointer",flexShrink:0}}),(0,t.jsx)("div",{style:{width:6,height:6,borderRadius:"50%",background:m[e]}}),(0,t.jsxs)("span",{style:{fontSize:9,fontWeight:700,color:m[e]},children:[e,"-Tier"]}),(0,t.jsx)("span",{style:{fontSize:8,color:"#555"},children:n.length}),(0,t.jsxs)("button",{onClick:()=>{if(1===n.length)return void window.open(n[0].profile_url,"_blank");let t=`<!DOCTYPE html><html><head><title>${e}-Tier — ${n.length}</title>
|
|
25
25
|
<style>body{background:#0a0a1a;color:#fff;font-family:-apple-system,sans-serif;padding:24px}
|
|
26
26
|
.btn{display:block;padding:10px 14px;margin-bottom:4px;background:rgba(255,255,255,0.06);
|
|
27
27
|
border:1px solid rgba(255,255,255,0.1);border-radius:6px;color:#fff;text-decoration:none;font-size:12px}
|
|
28
28
|
.btn:hover{background:rgba(0,119,181,0.2)}
|
|
29
29
|
.oa{display:inline-block;padding:10px 20px;background:#0077B5;color:#fff;border-radius:6px;
|
|
30
30
|
font-weight:700;font-size:13px;cursor:pointer;border:none;margin-bottom:16px}</style></head>
|
|
31
|
-
<body><h3 style="color:${
|
|
31
|
+
<body><h3 style="color:${m[e]}">${e}-Tier (${n.length})</h3>
|
|
32
32
|
<button class="oa" onclick="document.querySelectorAll('.btn').forEach((a,i)=>setTimeout(()=>a.click(),i*300))">
|
|
33
|
-
Open All</button>${n.map(e=>'<a class="btn" href="'+e.profile_url+'" target="_blank">'+e.name+" · "+parseFloat(e.power_score||0).toFixed(1)+"</a>").join("")}</body></html>`;window.open(URL.createObjectURL(new Blob([t],{type:"text/html"})),"_blank")},style:{marginLeft:"auto",padding:"2px 8px",borderRadius:3,border:"none",cursor:"pointer",background:"#0077B5",color:"#fff",fontSize:8,fontWeight:700},children:["Open All ",e]})]}),n.map(e=>(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"5px 8px 5px 16px",borderBottom:"1px solid rgba(255,255,255,0.02)",background:u.has(e.id)?"rgba(255,215,0,0.05)":"transparent",cursor:"pointer"},onMouseEnter:t=>{u.has(e.id)||(t.currentTarget.style.background="rgba(255,255,255,0.04)")},onMouseLeave:t=>{u.has(e.id)||(t.currentTarget.style.background="transparent")},children:[(0,t.jsx)("input",{type:"checkbox",checked:u.has(e.id),onChange:()=>P(e.id),onClick:e=>e.stopPropagation(),style:{cursor:"pointer",flexShrink:0}}),e.profile_image_url?(0,t.jsx)("img",{src:e.profile_image_url,alt:"",style:{width:28,height:28,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${y[e.tier]||"#555"}`},onError:e=>{e.target.style.display="none"}}):(0,t.jsx)("div",{style:{width:28,height:28,borderRadius:"50%",flexShrink:0,fontSize:10,fontWeight:700,background:y[e.tier]||"#555",color:"S"===e.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:e.name?.charAt(0)}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},onClick:()=>P(e.id),children:[(0,t.jsx)("div",{style:{fontSize:11,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,t.jsx)("div",{style:{fontSize:8,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.headline?.substring(0,45)})]}),(0,t.jsx)("span",{style:{fontSize:9,fontWeight:700,color:y[e.tier],flexShrink:0},children:parseFloat(e.power_score||0).toFixed(1)}),S.has(e.id)?(0,t.jsx)("span",{style:{padding:"3px 6px",borderRadius:3,fontSize:8,fontWeight:700,background:"rgba(255,107,53,0.15)",color:"#FF6B35",flexShrink:0},children:"Sent"}):(0,t.jsx)("a",{href:e.profile_url,target:"_blank",rel:"noopener noreferrer",onClick:async t=>{t.stopPropagation();try{await fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark-sent",connectionId:e.id,profileUrl:e.profile_url})}),j(t=>new Set([...t,e.id]))}catch{}},style:{padding:"3px 6px",borderRadius:3,fontSize:8,fontWeight:700,background:"#0077B5",color:"#fff",textDecoration:"none",flexShrink:0},children:"Add"})]},e.id))]},e)}):r.map(e=>(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 8px",borderBottom:"1px solid rgba(255,255,255,0.03)",background:u.has(e.id)?"rgba(255,215,0,0.05)":"transparent",cursor:"pointer"},onMouseEnter:t=>{u.has(e.id)||(t.currentTarget.style.background="rgba(255,255,255,0.04)")},onMouseLeave:t=>{u.has(e.id)||(t.currentTarget.style.background="transparent")},children:[(0,t.jsx)("input",{type:"checkbox",checked:u.has(e.id),onChange:()=>P(e.id),onClick:e=>e.stopPropagation(),style:{cursor:"pointer",flexShrink:0}}),e.profile_image_url?(0,t.jsx)("img",{src:e.profile_image_url,alt:"",style:{width:32,height:32,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${y[e.tier]||"#555"}`},onError:e=>{e.target.style.display="none",e.target.nextSibling.style.display="flex"}}):null,(0,t.jsx)("div",{style:{width:32,height:32,borderRadius:"50%",flexShrink:0,fontSize:12,fontWeight:700,background:y[e.tier]||"#555",color:"S"===e.tier?"#000":"#fff",display:e.profile_image_url?"none":"flex",alignItems:"center",justifyContent:"center"},children:e.name?.charAt(0)}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},onClick:()=>P(e.id),children:[(0,t.jsx)("div",{style:{fontSize:12,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,t.jsx)("div",{style:{fontSize:9,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.headline?.substring(0,50)})]}),e.bridge&&(0,t.jsxs)("span",{style:{fontSize:8,color:"#555",flexShrink:0,maxWidth:60,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:["via ",e.bridge.name?.split(" ")[0]]}),(0,t.jsx)("div",{style:{textAlign:"right",flexShrink:0,minWidth:32},children:(0,t.jsx)("div",{style:{fontSize:10,fontWeight:700,color:y[e.tier]},children:parseFloat(e.power_score).toFixed(1)})}),S.has(e.id)?(0,t.jsx)("span",{style:{padding:"4px 8px",borderRadius:4,fontSize:9,fontWeight:700,background:"rgba(255,107,53,0.15)",color:"#FF6B35",flexShrink:0},children:"⏳ Sent"}):(0,t.jsx)("a",{href:e.profile_url,target:"_blank",rel:"noopener noreferrer",onClick:async t=>{t.stopPropagation();try{await fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark-sent",connectionId:e.id,profileUrl:e.profile_url})}),j(t=>new Set([...t,e.id]))}catch{}},style:{padding:"4px 8px",borderRadius:4,fontSize:9,fontWeight:700,background:"#0077B5",color:"#fff",textDecoration:"none",flexShrink:0},children:"Add"})]},e.id))]},e))]})]})})]})}e.s(["default",0,function(){return(0,t.jsx)(x.default,{children:(0,t.jsx)(S,{})})}],77305)},19821,e=>{"use strict";async function t(e){let t=e?`/api/network?userId=${encodeURIComponent(e)}`:"/api/network",r=await fetch(t);if(!r.ok)throw Error(`Failed to load network (${r.status})`);let n=await r.json();return{degree1:n.degree1||[],degree2:n.degree2||[],degree3:n.degree3||[]}}e.s(["loadNetwork",0,t])},5258,e=>{"use strict";e.s(["TIER_COLORS",0,{S:"#f6c344",A:"#a78bfa",B:"#60a5fa",C:"#94a3b8",D:"#6b7280"},"TIER_COLORS_CLASSIC",0,{S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},"TIER_ORDER",0,["S","A","B","C","D"],"TIER_RING_RADIUS",0,{S:150,A:230,B:310,C:390,D:470},"initialsFor",0,function(e){let t=String(e||"").trim().split(/\s+/).filter(Boolean);return 0===t.length?"?":(t[0].charAt(0)+(t.length>1?t[t.length-1].charAt(0):"")).toUpperCase()}])},22016,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return b},useLinkStatus:function(){return m}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(90809),l=e.r(43476),s=o._(e.r(71645)),a=e.r(95057),d=e.r(8372),c=e.r(18581),p=e.r(18967),f=e.r(5550),h=e.r(88540),g=e.r(91949),u=e.r(73668),x=e.r(9396);function b(t){var r;let n,i,o,[b,m]=(0,s.useOptimistic)(g.IDLE_LINK_STATUS),S=(0,s.useRef)(null),{href:j,as:v,children:k,prefetch:w=null,passHref:_,replace:F,shallow:z,scroll:B,onClick:C,onMouseEnter:R,onTouchStart:T,legacyBehavior:A=!1,onNavigate:O,transitionTypes:W,ref:$,unstable_dynamicOnHover:I,...E}=t;n=k,A&&("string"==typeof n||"number"==typeof n)&&(n=(0,l.jsx)("a",{children:n}));let D=s.default.useContext(d.AppRouterContext),P=!1!==w,L=!1===w?"none":!0===w?"full":"auto",M="none"!==L?"auto"===L?x.FetchStrategy.PPR:x.FetchStrategy.Full:x.FetchStrategy.PPR,U="string"==typeof(r=v||j)?r:(0,a.formatUrl)(r);if(A){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});i=s.default.Children.only(n)}let N=A?i&&"object"==typeof i&&i.ref:$,q,K=s.default.useCallback(e=>(null!==D&&(S.current=(0,g.mountLinkInstance)(e,U,D,M,P,m,q)),()=>{S.current&&((0,g.unmountLinkForCurrentNavigation)(S.current),S.current=null),(0,g.unmountPrefetchableInstance)(e)}),[P,U,D,M,m,q]),J={ref:(0,c.useMergedRef)(K,N),onClick(t){A||"function"!=typeof C||C(t),A&&i.props&&"function"==typeof i.props.onClick&&i.props.onClick(t),!D||t.defaultPrevented||function(t,r,n,i,o,l,a,d="none"){if("u">typeof window){let c,{nodeName:p}=t.currentTarget;if("A"===p.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,u.isLocalURL)(r)){i&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(99781);s.default.startTransition(()=>{f(r,i?"replace":"push",!1===o?h.ScrollBehavior.NoScroll:h.ScrollBehavior.Default,n.current,a,d)})}}(t,U,S,F,B,O,W,L)},onMouseEnter(e){A||"function"!=typeof R||R(e),A&&i.props&&"function"==typeof i.props.onMouseEnter&&i.props.onMouseEnter(e),D&&P&&(0,g.onNavigationIntent)(e.currentTarget,!0===I)},onTouchStart:function(e){A||"function"!=typeof T||T(e),A&&i.props&&"function"==typeof i.props.onTouchStart&&i.props.onTouchStart(e),D&&P&&(0,g.onNavigationIntent)(e.currentTarget,!0===I)}};return(0,p.isAbsoluteUrl)(U)?J.href=U:A&&!_&&("a"!==i.type||"href"in i.props)||(J.href=(0,f.addBasePath)(U)),o=A?s.default.cloneElement(i,J):(0,l.jsx)("a",{...E,...J,children:n}),(0,l.jsx)(y.Provider,{value:b,children:o})}let y=(0,s.createContext)(g.IDLE_LINK_STATUS),m=()=>(0,s.useContext)(y);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return i}});let n=e.r(71645);function i(e,t){let r=(0,n.useRef)(null),i=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(r.current=o(e,n)),t&&(i.current=o(t,n))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18967,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return b},MiddlewareNotFoundError:function(){return j},MissingStaticPage:function(){return S},NormalizeError:function(){return y},PageNotFoundError:function(){return m},SP:function(){return u},ST:function(){return x},WEB_VITALS:function(){return o},execOnce:function(){return l},getDisplayName:function(){return p},getLocationOrigin:function(){return d},getURL:function(){return c},isAbsoluteUrl:function(){return a},isResSent:function(){return f},loadGetInitialProps:function(){return g},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return v}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function l(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,a=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&s.test(e)};function d(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=d();return e.substring(t.length)}function p(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function h(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function g(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await g(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${p(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let u="u">typeof performance,x=u&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class b extends Error{}class y extends Error{}class m extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class S extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class j extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function v(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let n=e.r(18967),i=e.r(52817);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,i.hasBasePath)(r.pathname)}catch(e){return!1}}},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return a},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return s}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});function o(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function l(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,l(e));else t.set(r,l(n));return t}function a(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95057,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return s},formatWithValidation:function(){return d},urlObjectKeys:function(){return a}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(90809)._(e.r(98183)),l=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:r}=e,n=e.protocol||"",i=e.pathname||"",s=e.hash||"",a=e.query||"",d=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?d=t+e.host:r&&(d=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(d+=":"+e.port)),a&&"object"==typeof a&&(a=String(o.urlQueryToSearchParams(a)));let c=e.search||a&&`?${a}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||l.test(n))&&!1!==d?(d="//"+(d||""),i&&"/"!==i[0]&&(i="/"+i)):d||(d=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),i=i.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${d}${i}${c}${s}`}let a=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function d(e){return s(e)}}]);
|
|
33
|
+
Open All</button>${n.map(e=>'<a class="btn" href="'+e.profile_url+'" target="_blank">'+e.name+" · "+parseFloat(e.power_score||0).toFixed(1)+"</a>").join("")}</body></html>`;window.open(URL.createObjectURL(new Blob([t],{type:"text/html"})),"_blank")},style:{marginLeft:"auto",padding:"2px 8px",borderRadius:3,border:"none",cursor:"pointer",background:"#0077B5",color:"#fff",fontSize:8,fontWeight:700},children:["Open All ",e]})]}),n.map(e=>(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"5px 8px 5px 16px",borderBottom:"1px solid rgba(255,255,255,0.02)",background:u.has(e.id)?"rgba(255,215,0,0.05)":"transparent",cursor:"pointer"},onMouseEnter:t=>{u.has(e.id)||(t.currentTarget.style.background="rgba(255,255,255,0.04)")},onMouseLeave:t=>{u.has(e.id)||(t.currentTarget.style.background="transparent")},children:[(0,t.jsx)("input",{type:"checkbox",checked:u.has(e.id),onChange:()=>P(e.id),onClick:e=>e.stopPropagation(),style:{cursor:"pointer",flexShrink:0}}),e.profile_image_url?(0,t.jsx)("img",{src:e.profile_image_url,alt:"",style:{width:28,height:28,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${m[e.tier]||"#555"}`},onError:e=>{e.target.style.display="none"}}):(0,t.jsx)("div",{style:{width:28,height:28,borderRadius:"50%",flexShrink:0,fontSize:10,fontWeight:700,background:m[e.tier]||"#555",color:"S"===e.tier?"#000":"#fff",display:"flex",alignItems:"center",justifyContent:"center"},children:e.name?.charAt(0)}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},onClick:()=>P(e.id),children:[(0,t.jsx)("div",{style:{fontSize:11,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,t.jsx)("div",{style:{fontSize:8,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.headline?.substring(0,45)})]}),(0,t.jsx)("span",{style:{fontSize:9,fontWeight:700,color:m[e.tier],flexShrink:0},children:parseFloat(e.power_score||0).toFixed(1)}),S.has(e.id)?(0,t.jsx)("span",{style:{padding:"3px 6px",borderRadius:3,fontSize:8,fontWeight:700,background:"rgba(255,107,53,0.15)",color:"#FF6B35",flexShrink:0},children:"Sent"}):(0,t.jsx)("a",{href:e.profile_url,target:"_blank",rel:"noopener noreferrer",onClick:async t=>{t.stopPropagation();try{await fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark-sent",connectionId:e.id,profileUrl:e.profile_url})}),j(t=>new Set([...t,e.id]))}catch{}},style:{padding:"3px 6px",borderRadius:3,fontSize:8,fontWeight:700,background:"#0077B5",color:"#fff",textDecoration:"none",flexShrink:0},children:"Add"})]},e.id))]},e)}):r.map(e=>(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 8px",borderBottom:"1px solid rgba(255,255,255,0.03)",background:u.has(e.id)?"rgba(255,215,0,0.05)":"transparent",cursor:"pointer"},onMouseEnter:t=>{u.has(e.id)||(t.currentTarget.style.background="rgba(255,255,255,0.04)")},onMouseLeave:t=>{u.has(e.id)||(t.currentTarget.style.background="transparent")},children:[(0,t.jsx)("input",{type:"checkbox",checked:u.has(e.id),onChange:()=>P(e.id),onClick:e=>e.stopPropagation(),style:{cursor:"pointer",flexShrink:0}}),e.profile_image_url?(0,t.jsx)("img",{src:e.profile_image_url,alt:"",style:{width:32,height:32,borderRadius:"50%",objectFit:"cover",flexShrink:0,border:`1.5px solid ${m[e.tier]||"#555"}`},onError:e=>{e.target.style.display="none",e.target.nextSibling.style.display="flex"}}):null,(0,t.jsx)("div",{style:{width:32,height:32,borderRadius:"50%",flexShrink:0,fontSize:12,fontWeight:700,background:m[e.tier]||"#555",color:"S"===e.tier?"#000":"#fff",display:e.profile_image_url?"none":"flex",alignItems:"center",justifyContent:"center"},children:e.name?.charAt(0)}),(0,t.jsxs)("div",{style:{flex:1,minWidth:0},onClick:()=>P(e.id),children:[(0,t.jsx)("div",{style:{fontSize:12,fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name}),(0,t.jsx)("div",{style:{fontSize:9,color:"#666",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.headline?.substring(0,50)})]}),e.bridge&&(0,t.jsxs)("span",{style:{fontSize:8,color:"#555",flexShrink:0,maxWidth:60,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:["via ",e.bridge.name?.split(" ")[0]]}),(0,t.jsx)("div",{style:{textAlign:"right",flexShrink:0,minWidth:32},children:(0,t.jsx)("div",{style:{fontSize:10,fontWeight:700,color:m[e.tier]},children:parseFloat(e.power_score).toFixed(1)})}),S.has(e.id)?(0,t.jsx)("span",{style:{padding:"4px 8px",borderRadius:4,fontSize:9,fontWeight:700,background:"rgba(255,107,53,0.15)",color:"#FF6B35",flexShrink:0},children:"⏳ Sent"}):(0,t.jsx)("a",{href:e.profile_url,target:"_blank",rel:"noopener noreferrer",onClick:async t=>{t.stopPropagation();try{await fetch("/api/outreach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"mark-sent",connectionId:e.id,profileUrl:e.profile_url})}),j(t=>new Set([...t,e.id]))}catch{}},style:{padding:"4px 8px",borderRadius:4,fontSize:9,fontWeight:700,background:"#0077B5",color:"#fff",textDecoration:"none",flexShrink:0},children:"Add"})]},e.id))]},e))]})]})})]})}e.s(["default",0,function(){return(0,t.jsx)(x.default,{children:(0,t.jsx)(S,{})})}],77305)},19821,e=>{"use strict";async function t(e){let t=e?`/api/network?userId=${encodeURIComponent(e)}`:"/api/network",r=await fetch(t);if(!r.ok)throw Error(`Failed to load network (${r.status})`);let n=await r.json();return{degree1:n.degree1||[],degree2:n.degree2||[],degree3:n.degree3||[]}}e.s(["loadNetwork",0,t])},5258,e=>{"use strict";e.s(["TIER_COLORS",0,{S:"#f6c344",A:"#a78bfa",B:"#60a5fa",C:"#94a3b8",D:"#6b7280"},"TIER_COLORS_CLASSIC",0,{S:"#FFD700",A:"#9B59B6",B:"#3498DB",C:"#95A5A6",D:"#BDC3C7"},"TIER_ORDER",0,["S","A","B","C","D"],"TIER_RING_RADIUS",0,{S:150,A:230,B:310,C:390,D:470},"initialsFor",0,function(e){let t=String(e||"").trim().split(/\s+/).filter(Boolean);return 0===t.length?"?":(t[0].charAt(0)+(t.length>1?t[t.length-1].charAt(0):"")).toUpperCase()}])},22016,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return b},useLinkStatus:function(){return m}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(90809),l=e.r(43476),s=o._(e.r(71645)),a=e.r(95057),d=e.r(8372),c=e.r(18581),p=e.r(18967),f=e.r(5550),h=e.r(88540),g=e.r(91949),u=e.r(73668),x=e.r(9396);function b(t){var r;let n,i,o,[b,m]=(0,s.useOptimistic)(g.IDLE_LINK_STATUS),S=(0,s.useRef)(null),{href:j,as:v,children:k,prefetch:w=null,passHref:_,replace:F,shallow:C,scroll:B,onClick:z,onMouseEnter:R,onTouchStart:T,legacyBehavior:A=!1,onNavigate:O,transitionTypes:W,ref:$,unstable_dynamicOnHover:I,...E}=t;n=k,A&&("string"==typeof n||"number"==typeof n)&&(n=(0,l.jsx)("a",{children:n}));let D=s.default.useContext(d.AppRouterContext),P=!1!==w,L=!1===w?"none":!0===w?"full":"auto",M="none"!==L?"auto"===L?x.FetchStrategy.PPR:x.FetchStrategy.Full:x.FetchStrategy.PPR,U="string"==typeof(r=v||j)?r:(0,a.formatUrl)(r);if(A){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});i=s.default.Children.only(n)}let N=A?i&&"object"==typeof i&&i.ref:$,q,K=s.default.useCallback(e=>(null!==D&&(S.current=(0,g.mountLinkInstance)(e,U,D,M,P,m,q)),()=>{S.current&&((0,g.unmountLinkForCurrentNavigation)(S.current),S.current=null),(0,g.unmountPrefetchableInstance)(e)}),[P,U,D,M,m,q]),J={ref:(0,c.useMergedRef)(K,N),onClick(t){A||"function"!=typeof z||z(t),A&&i.props&&"function"==typeof i.props.onClick&&i.props.onClick(t),!D||t.defaultPrevented||function(t,r,n,i,o,l,a,d="none"){if("u">typeof window){let c,{nodeName:p}=t.currentTarget;if("A"===p.toUpperCase()&&((c=t.currentTarget.getAttribute("target"))&&"_self"!==c||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,u.isLocalURL)(r)){i&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(99781);s.default.startTransition(()=>{f(r,i?"replace":"push",!1===o?h.ScrollBehavior.NoScroll:h.ScrollBehavior.Default,n.current,a,d)})}}(t,U,S,F,B,O,W,L)},onMouseEnter(e){A||"function"!=typeof R||R(e),A&&i.props&&"function"==typeof i.props.onMouseEnter&&i.props.onMouseEnter(e),D&&P&&(0,g.onNavigationIntent)(e.currentTarget,!0===I)},onTouchStart:function(e){A||"function"!=typeof T||T(e),A&&i.props&&"function"==typeof i.props.onTouchStart&&i.props.onTouchStart(e),D&&P&&(0,g.onNavigationIntent)(e.currentTarget,!0===I)}};return(0,p.isAbsoluteUrl)(U)?J.href=U:A&&!_&&("a"!==i.type||"href"in i.props)||(J.href=(0,f.addBasePath)(U)),o=A?s.default.cloneElement(i,J):(0,l.jsx)("a",{...E,...J,children:n}),(0,l.jsx)(y.Provider,{value:b,children:o})}let y=(0,s.createContext)(g.IDLE_LINK_STATUS),m=()=>(0,s.useContext)(y);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18581,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return i}});let n=e.r(71645);function i(e,t){let r=(0,n.useRef)(null),i=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=i.current;t&&(i.current=null,t())}else e&&(r.current=o(e,n)),t&&(i.current=o(t,n))},[e,t])}function o(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},18967,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return b},MiddlewareNotFoundError:function(){return j},MissingStaticPage:function(){return S},NormalizeError:function(){return y},PageNotFoundError:function(){return m},SP:function(){return u},ST:function(){return x},WEB_VITALS:function(){return o},execOnce:function(){return l},getDisplayName:function(){return p},getLocationOrigin:function(){return d},getURL:function(){return c},isAbsoluteUrl:function(){return a},isResSent:function(){return f},loadGetInitialProps:function(){return g},normalizeRepeatedSlashes:function(){return h},stringifyError:function(){return v}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=["CLS","FCP","FID","INP","LCP","TTFB"];function l(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let s=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,a=e=>{let t=e.charCodeAt(0);return!!(t>=65&&t<=90||t>=97&&t<=122)&&s.test(e)};function d(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=d();return e.substring(t.length)}function p(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function f(e){return e.finished||e.headersSent}function h(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function g(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await g(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&f(r))return n;if(!n)throw Object.defineProperty(Error(`"${p(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E1025",enumerable:!1,configurable:!0});return n}let u="u">typeof performance,x=u&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class b extends Error{}class y extends Error{}class m extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class S extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class j extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function v(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return o}});let n=e.r(18967),i=e.r(52817);function o(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,i.hasBasePath)(r.pathname)}catch(e){return!1}}},98183,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return a},searchParamsToUrlQuery:function(){return o},urlQueryToSearchParams:function(){return s}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});function o(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function l(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function s(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,l(e));else t.set(r,l(n));return t}function a(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},95057,(e,t,r)=>{"use strict";e.i(47167),Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return s},formatWithValidation:function(){return d},urlObjectKeys:function(){return a}};for(var i in n)Object.defineProperty(r,i,{enumerable:!0,get:n[i]});let o=e.r(90809)._(e.r(98183)),l=/https?|ftp|gopher|file/;function s(e){let{auth:t,hostname:r}=e,n=e.protocol||"",i=e.pathname||"",s=e.hash||"",a=e.query||"",d=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?d=t+e.host:r&&(d=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(d+=":"+e.port)),a&&"object"==typeof a&&(a=String(o.urlQueryToSearchParams(a)));let c=e.search||a&&`?${a}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||l.test(n))&&!1!==d?(d="//"+(d||""),i&&"/"!==i[0]&&(i="/"+i)):d||(d=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),i=i.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${d}${i}${c}${s}`}let a=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function d(e){return s(e)}}]);
|