six-degrees 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/standalone/.next/BUILD_ID +1 -1
- package/.next/standalone/.next/app-path-routes-manifest.json +3 -0
- package/.next/standalone/.next/build-manifest.json +3 -3
- package/.next/standalone/.next/prerender-manifest.json +14 -14
- package/.next/standalone/.next/routes-manifest.json +18 -0
- package/.next/standalone/.next/server/app/_global-error.html +1 -1
- package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/standalone/.next/server/app/_not-found/page.js +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 +26 -18
- package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +26 -18
- package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +25 -16
- package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/api/admin-delete/route.js +2 -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 +2 -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 +2 -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 +2 -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.js +3 -3
- package/.next/standalone/.next/server/app/api/company-scores/legacy/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/company-scores/route.js +3 -3
- 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 +2 -2
- package/.next/standalone/.next/server/app/api/connections/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/backup/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/data/backup/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/data/backup/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/data/backup/route.js +7 -0
- package/.next/standalone/.next/server/app/api/data/backup/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/data/backup/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/data/backup/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/data/csv/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/data/csv/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/data/csv/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/data/csv/route.js +8 -0
- package/.next/standalone/.next/server/app/api/data/csv/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/data/csv/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/data/csv/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/data/export/route.js +1 -1
- package/.next/standalone/.next/server/app/api/data/export/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/import/route.js +1 -1
- package/.next/standalone/.next/server/app/api/data/import/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/restart/route.js +1 -1
- package/.next/standalone/.next/server/app/api/data/restart/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/restore/route/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/app/api/data/restore/route/build-manifest.json +12 -0
- package/.next/standalone/.next/server/app/api/data/restore/route/server-reference-manifest.json +4 -0
- package/.next/standalone/.next/server/app/api/data/restore/route.js +7 -0
- package/.next/standalone/.next/server/app/api/data/restore/route.js.map +5 -0
- package/.next/standalone/.next/server/app/api/data/restore/route.js.nft.json +1 -0
- package/.next/standalone/.next/server/app/api/data/restore/route_client-reference-manifest.js +3 -0
- package/.next/standalone/.next/server/app/api/data/reveal/route.js +1 -1
- package/.next/standalone/.next/server/app/api/data/reveal/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/data/route.js +1 -1
- package/.next/standalone/.next/server/app/api/data/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/delete-cluster/route.js +2 -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 +2 -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 +2 -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 +2 -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 +2 -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 +4 -2
- package/.next/standalone/.next/server/app/api/scraper/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/route.js +3 -3
- package/.next/standalone/.next/server/app/api/settings/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js +3 -3
- package/.next/standalone/.next/server/app/api/settings/sector-preview/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js +3 -3
- package/.next/standalone/.next/server/app/api/settings/sector-suggestions/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/setup-profile/route.js +2 -2
- package/.next/standalone/.next/server/app/api/setup-profile/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/social/crm/route.js +1 -1
- package/.next/standalone/.next/server/app/api/social/crm/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/social/messages/route.js +1 -1
- package/.next/standalone/.next/server/app/api/social/messages/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/social/route.js +2 -2
- package/.next/standalone/.next/server/app/api/social/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/unlock/route.js +2 -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.nft.json +1 -1
- package/.next/standalone/.next/server/app/api/update-images/route.js +2 -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 +2 -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 +1 -1
- package/.next/standalone/.next/server/app/avatars/[file]/route.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/import/page.js +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 +32 -24
- package/.next/standalone/.next/server/app/import.segments/_full.segment.rsc +32 -24
- package/.next/standalone/.next/server/app/import.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/import.segments/import/__PAGE__.segment.rsc +23 -18
- package/.next/standalone/.next/server/app/index.html +1 -1
- package/.next/standalone/.next/server/app/index.rsc +29 -22
- package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +20 -15
- package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +29 -22
- package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/launch/page.js +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 +32 -24
- package/.next/standalone/.next/server/app/launch.segments/_full.segment.rsc +32 -24
- package/.next/standalone/.next/server/app/launch.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/launch.segments/launch/__PAGE__.segment.rsc +23 -18
- package/.next/standalone/.next/server/app/page.js +1 -1
- 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 +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 +32 -24
- package/.next/standalone/.next/server/app/paths.segments/_full.segment.rsc +32 -24
- package/.next/standalone/.next/server/app/paths.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/paths.segments/paths/__PAGE__.segment.rsc +21 -18
- package/.next/standalone/.next/server/app/profile/page.js +1 -1
- 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 +32 -24
- package/.next/standalone/.next/server/app/profile.segments/_full.segment.rsc +32 -24
- package/.next/standalone/.next/server/app/profile.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/profile.segments/profile/__PAGE__.segment.rsc +23 -18
- package/.next/standalone/.next/server/app/queue/page.js +1 -1
- 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 +32 -24
- package/.next/standalone/.next/server/app/queue.segments/_full.segment.rsc +32 -24
- package/.next/standalone/.next/server/app/queue.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/queue.segments/queue/__PAGE__.segment.rsc +20 -18
- package/.next/standalone/.next/server/app/scores/page.js +1 -1
- package/.next/standalone/.next/server/app/scores/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/scores/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/scores.html +1 -1
- package/.next/standalone/.next/server/app/scores.rsc +32 -24
- package/.next/standalone/.next/server/app/scores.segments/_full.segment.rsc +32 -24
- package/.next/standalone/.next/server/app/scores.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/scores.segments/scores/__PAGE__.segment.rsc +23 -18
- package/.next/standalone/.next/server/app/settings/page.js +1 -1
- package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/settings.html +1 -1
- package/.next/standalone/.next/server/app/settings.rsc +32 -24
- package/.next/standalone/.next/server/app/settings.segments/_full.segment.rsc +32 -24
- package/.next/standalone/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +20 -18
- package/.next/standalone/.next/server/app/setup/page.js +1 -1
- 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 +32 -24
- package/.next/standalone/.next/server/app/setup.segments/_full.segment.rsc +32 -24
- package/.next/standalone/.next/server/app/setup.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/setup.segments/setup/__PAGE__.segment.rsc +21 -18
- package/.next/standalone/.next/server/app/social/page.js +1 -1
- package/.next/standalone/.next/server/app/social/page.js.nft.json +1 -1
- package/.next/standalone/.next/server/app/social/page_client-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/app/social.html +1 -1
- package/.next/standalone/.next/server/app/social.rsc +32 -24
- package/.next/standalone/.next/server/app/social.segments/_full.segment.rsc +32 -24
- package/.next/standalone/.next/server/app/social.segments/_tree.segment.rsc +2 -2
- package/.next/standalone/.next/server/app/social.segments/social/__PAGE__.segment.rsc +23 -18
- package/.next/standalone/.next/server/app-paths-manifest.json +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__00la_y0._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__05_3-22._.js +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__15wc9e-._.js → [root-of-the-server]__063s0x7._.js} +2 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__066rab1._.js +7 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__07t47cm._.js +1 -1
- package/.next/standalone/.next/server/chunks/{[root-of-the-server]__13dx4sd._.js → [root-of-the-server]__0_4y8z7._.js} +3 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0cj5jqc._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0e0fei3._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0fooke1._.js +7 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0ljnyho._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0o5-tcg._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0qrnous._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t3v1a1._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0t6y79e._.js +7 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0wmexuc._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0x29muh._.js +7 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0xu34sz._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__133knx1._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__15-17hl._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__19b7mig._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1a_6x37._.js +8 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1an_8pa._.js +7 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1bbcwub._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1ducpz2._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1eris29._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1gjo_cq._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1qcm08_._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1tir0vc._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1w25q0m._.js +1 -1
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1xhyinn._.js +3 -0
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__20rwfdw._.js +1 -1
- package/.next/standalone/.next/server/chunks/_02twlca._.js +1 -1
- package/.next/standalone/.next/server/chunks/_072jl0y._.js +1 -1
- package/.next/standalone/.next/server/chunks/_0lw8_i0._.js +1 -1
- package/.next/standalone/.next/server/chunks/_0sqqpzb._.js +3 -0
- package/.next/standalone/.next/server/chunks/_1_fynia._.js +7 -7
- package/.next/standalone/.next/server/chunks/_1fn30_l._.js +1 -1
- package/.next/standalone/.next/server/chunks/_1itd1o_._.js +1 -1
- package/.next/standalone/.next/server/chunks/_1iwkh8t._.js +1 -1
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_data_backup_route_actions_0zoj04p.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_data_csv_route_actions_0l6m7lg.js +3 -0
- package/.next/standalone/.next/server/chunks/_next-internal_server_app_api_data_restore_route_actions_0-b05bv.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_02iz_9q._.js +4 -0
- package/.next/standalone/.next/server/chunks/lib_05agvk3._.js +4 -0
- package/.next/standalone/.next/server/chunks/lib_0v84u66._.js +4 -0
- package/.next/standalone/.next/server/chunks/lib_db-client_0_dch35.js +174 -0
- package/.next/standalone/.next/server/chunks/lib_linkedin-export_12imqxg.js +1 -1
- package/.next/standalone/.next/server/chunks/lib_rpc_005abye.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0b17r6v.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0c9d9ti.js +7 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0doq0t-.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0fd2rlw.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0is4qoc.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0jnfp2e.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0nef_n7.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_0plrzra.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_13a4m0c.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1if17c-.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1j-zw7v.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1sngt-q.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1v2sgme.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1vh-tgx.js +3 -0
- package/.next/standalone/.next/server/chunks/lib_rpc_1zaubz7.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0qd8pzm._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__0qdeuyo._.js → [root-of-the-server]__1-012q1._.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_01o3i5y._.js +7 -0
- package/.next/standalone/.next/server/chunks/ssr/_02sband._.js +7 -0
- package/.next/standalone/.next/server/chunks/ssr/_06rgzfh._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_07zb7lu._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0_79idq._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0gy11ar._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_0hb-dhy._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_14nxd3q._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_189g8lg._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/_1f_n00p._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/_1fm1ih_._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_1k2nmbw._.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/_1k9qfsk._.js +3 -0
- package/.next/standalone/.next/server/chunks/ssr/app_141w189._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_components_0t908t-._.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_components_0uuff77._.js +25 -2
- package/.next/standalone/.next/server/chunks/ssr/app_components_1j3q-h5._.js +25 -2
- package/.next/standalone/.next/server/chunks/ssr/app_components_CompanyScores_1g0mytz.js +1 -1
- 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 +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_page_1fazqbf.js +25 -13
- package/.next/standalone/.next/server/chunks/ssr/app_paths_page_1ol90m7.js +2 -2
- package/.next/standalone/.next/server/chunks/ssr/app_profile_page_0u3-l5y.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_queue_page_0c6znd6.js +11 -11
- package/.next/standalone/.next/server/chunks/ssr/app_settings_page_1f8mjj_.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/app_setup_page_1-282zx.js +12 -13
- package/.next/standalone/.next/server/chunks/ssr/app_social_page_0h7zxda.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/{lib_1c4ieuw._.js → lib_csv_1ttiu_h.js} +2 -2
- package/.next/standalone/.next/server/chunks/ssr/lib_galaxy-lab_108_lu-.js +1 -1
- package/.next/standalone/.next/server/chunks/ssr/lib_separation_1305zsx.js +3 -0
- package/.next/standalone/.next/server/edge/chunks/[root-of-the-server]__0pco7a6._.js +1 -1
- package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
- package/.next/standalone/.next/server/middleware-manifest.json +5 -5
- package/.next/standalone/.next/server/pages/404.html +1 -1
- package/.next/standalone/.next/server/pages/500.html +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
- package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
- package/.next/standalone/.next/static/chunks/03-_esd2x_yk6.js +1 -0
- package/.next/standalone/.next/static/chunks/03-demj2iy-0p.js +44 -0
- package/.next/standalone/.next/static/chunks/0_1r-3csplxnj.js +1 -0
- package/.next/standalone/.next/static/chunks/0an_b6zi1r_qq.js +5 -0
- package/.next/standalone/.next/static/chunks/0e3g0sil79cus.js +21 -0
- package/.next/standalone/.next/static/chunks/0kscsqnvfq3-r.js +1 -0
- package/.next/standalone/.next/static/chunks/0p3g5tfostsep.js +7 -0
- package/.next/standalone/.next/static/chunks/0zd0t7e60bn4z.js +1 -0
- package/.next/standalone/.next/static/chunks/163b-20vwa06i.js +34 -0
- package/.next/standalone/.next/static/chunks/{0ws7zy0w57ufi.js → 1eyajb9ntzlrl.js} +1 -1
- package/.next/standalone/.next/static/chunks/1pa-2v1ajvrko.js +1 -0
- package/.next/standalone/.next/static/chunks/1qbjermbf68xj.js +1 -0
- package/.next/standalone/.next/static/chunks/1z9lb-dbcg4aa.js +1 -0
- package/.next/standalone/.next/static/chunks/23_1z47al92nz.js +57 -0
- package/.next/standalone/.next/static/chunks/260bomtr214m8.js +34 -0
- package/.next/standalone/.next/static/chunks/2eo9pqq9gay3r.js +34 -0
- package/.next/standalone/.next/static/chunks/2xk2ra4piiuod.js +34 -0
- package/.next/standalone/.next/static/chunks/2z1-q0_vunbql.js +2 -0
- package/.next/standalone/.next/static/chunks/2zf4jmz9l3li2.js +1 -0
- package/.next/standalone/.next/static/chunks/34g73qhayuevu.js +1 -0
- package/.next/standalone/.next/static/chunks/3b0-14cxqsprt.js +1 -0
- package/.next/standalone/.next/static/chunks/3jarus1_38s2z.js +1 -0
- package/.next/standalone/.next/static/chunks/3ssu341hav_sq.css +3 -0
- package/.next/standalone/.next/static/chunks/3v1qd3sqhqn0d.js +1 -0
- package/.next/standalone/.next/static/chunks/43pg2sursiypz.js +1 -0
- package/.next/standalone/.next/static/chunks/44yn0tcd9dfk3.js +1 -0
- package/.next/standalone/CHANGELOG.md +143 -0
- package/.next/standalone/README.md +71 -49
- package/.next/standalone/SECURITY.md +17 -11
- package/.next/standalone/app/api/data/backup/route.js +25 -0
- package/.next/standalone/app/api/data/csv/route.js +74 -0
- package/.next/standalone/app/api/data/export/route.js +1 -1
- package/.next/standalone/app/api/data/restore/route.js +48 -0
- package/.next/standalone/app/api/data/reveal/route.js +19 -6
- package/.next/standalone/app/api/data/route.js +15 -4
- package/.next/standalone/app/api/ingest/route.js +1 -1
- package/.next/standalone/app/api/queue/route.js +1 -1
- package/.next/standalone/app/api/scraper/route.js +120 -32
- package/.next/standalone/app/api/social/crm/route.js +2 -1
- package/.next/standalone/app/components/AppHeader.js +20 -16
- package/.next/standalone/app/components/AppTabs.js +8 -8
- package/.next/standalone/app/components/AutoScanButton.js +2 -2
- package/.next/standalone/app/components/Avatar.js +1 -1
- package/.next/standalone/app/components/ChainView.js +184 -112
- package/.next/standalone/app/components/CirclePanel.js +16 -16
- package/.next/standalone/app/components/ClusterSpinner.js +64 -0
- package/.next/standalone/app/components/CompanyScores.js +20 -20
- package/.next/standalone/app/components/EmptyState.js +39 -18
- package/.next/standalone/app/components/FieldStep.js +15 -13
- package/.next/standalone/app/components/FilterPanel.js +17 -17
- package/.next/standalone/app/components/ForceGraph.js +49 -14
- package/.next/standalone/app/components/GalaxyLab.js +33 -33
- package/.next/standalone/app/components/GridView.js +18 -18
- package/.next/standalone/app/components/LegacyScoresCard.js +10 -11
- package/.next/standalone/app/components/LinkedInLimits.js +24 -19
- package/.next/standalone/app/components/LiquidGlass.js +99 -0
- package/.next/standalone/app/components/ListView.js +20 -20
- package/.next/standalone/app/components/MapControls.js +5 -5
- package/.next/standalone/app/components/MappingProgress.js +16 -16
- package/.next/standalone/app/components/NoteDetail.js +13 -13
- package/.next/standalone/app/components/OnboardingGate.js +4 -4
- package/.next/standalone/app/components/OutlinkQuest.js +25 -25
- package/.next/standalone/app/components/PathsAnalyzer.js +37 -36
- package/.next/standalone/app/components/PeopleMap.js +21 -21
- package/.next/standalone/app/components/RingsView.js +11 -11
- package/.next/standalone/app/components/ScanRadar.js +84 -39
- package/.next/standalone/app/components/ScanStatusBar.js +22 -18
- package/.next/standalone/app/components/ScanTrail.js +8 -5
- package/.next/standalone/app/components/SeparationView.js +168 -104
- package/.next/standalone/app/components/Sidebar.js +161 -161
- package/.next/standalone/app/components/StaleServerBanner.js +4 -4
- package/.next/standalone/app/components/TheirCircle.js +26 -26
- package/.next/standalone/app/components/ThemeDefs.js +42 -0
- package/.next/standalone/app/components/ThemeLoader.js +20 -1
- package/.next/standalone/app/components/UpdatePanel.js +22 -22
- package/.next/standalone/app/components/UserProvider.js +22 -15
- package/.next/standalone/app/components/settings/AppearanceSection.js +47 -24
- package/.next/standalone/app/components/settings/DataSection.js +276 -109
- package/.next/standalone/app/components/settings/NetworkHealthSection.js +13 -13
- package/.next/standalone/app/components/settings/SectorPicker.js +12 -12
- package/.next/standalone/app/components/settings/SectorSection.js +13 -14
- package/.next/standalone/app/components/settings/TierSection.js +9 -9
- package/.next/standalone/app/components/settings/TitleSection.js +11 -11
- package/.next/standalone/app/components/settings/UsageSection.js +313 -0
- package/.next/standalone/app/components/ui.js +8 -8
- package/.next/standalone/app/globals.css +159 -2
- package/.next/standalone/app/import/page.js +94 -38
- package/.next/standalone/app/launch/page.js +5 -5
- package/.next/standalone/app/layout.js +6 -2
- package/.next/standalone/app/page.js +53 -37
- package/.next/standalone/app/paths/page.js +63 -63
- package/.next/standalone/app/profile/page.js +58 -58
- package/.next/standalone/app/queue/page.js +54 -54
- package/.next/standalone/app/scores/page.js +2 -2
- package/.next/standalone/app/settings/page.js +16 -13
- package/.next/standalone/app/setup/page.js +221 -125
- package/.next/standalone/app/social/Crm.js +63 -62
- package/.next/standalone/app/social/SocialHub.js +22 -22
- package/.next/standalone/app/social/Thread.js +7 -7
- package/.next/standalone/app/social/page.js +2 -2
- package/.next/standalone/lib/backups.js +458 -0
- package/.next/standalone/lib/chain-layout.js +32 -0
- package/.next/standalone/lib/csv-store.js +131 -0
- package/.next/standalone/lib/csv.js +137 -39
- package/.next/standalone/lib/data-folder.js +19 -3
- package/.next/standalone/lib/data-import.js +5 -2
- package/.next/standalone/lib/db-client.js +78 -20
- package/.next/standalone/lib/demo.js +5 -4
- package/.next/standalone/lib/galaxy-export.js +9 -2
- package/.next/standalone/lib/galaxy-lab.js +19 -5
- package/.next/standalone/lib/galaxy-layouts.js +43 -0
- package/.next/standalone/lib/gate.js +10 -4
- package/.next/standalone/lib/ingest.js +1 -1
- package/.next/standalone/lib/linkedin-limits.js +212 -11
- package/.next/standalone/lib/liquid-glass.js +59 -0
- package/.next/standalone/lib/notifications.js +13 -0
- package/.next/standalone/lib/scan-pace.js +11 -0
- package/.next/standalone/lib/scan-progress.js +20 -0
- package/.next/standalone/lib/scan-risk.js +44 -0
- package/.next/standalone/lib/scanner-setup.js +97 -15
- package/.next/standalone/lib/scraper-client.js +17 -3
- package/.next/standalone/lib/search-risk.js +7 -3
- package/.next/standalone/lib/settings-client.js +5 -3
- package/.next/standalone/lib/settings.js +10 -0
- package/.next/standalone/lib/social-store.js +3 -2
- package/.next/standalone/lib/synced-setting.js +46 -0
- package/.next/standalone/lib/theme-store.js +42 -10
- package/.next/standalone/lib/themes.js +111 -21
- package/.next/standalone/lib/usage.js +195 -0
- package/.next/standalone/package-lock.json +2 -2
- package/.next/standalone/package.json +1 -1
- package/.next/standalone/scripts/scrape.py +26 -2
- package/.next/static/chunks/03-_esd2x_yk6.js +1 -0
- package/.next/static/chunks/03-demj2iy-0p.js +44 -0
- package/.next/static/chunks/0_1r-3csplxnj.js +1 -0
- package/.next/static/chunks/0an_b6zi1r_qq.js +5 -0
- package/.next/static/chunks/0e3g0sil79cus.js +21 -0
- package/.next/static/chunks/0kscsqnvfq3-r.js +1 -0
- package/.next/static/chunks/0p3g5tfostsep.js +7 -0
- package/.next/static/chunks/0zd0t7e60bn4z.js +1 -0
- package/.next/static/chunks/163b-20vwa06i.js +34 -0
- package/.next/static/chunks/{0ws7zy0w57ufi.js → 1eyajb9ntzlrl.js} +1 -1
- package/.next/static/chunks/1pa-2v1ajvrko.js +1 -0
- package/.next/static/chunks/1qbjermbf68xj.js +1 -0
- package/.next/static/chunks/1z9lb-dbcg4aa.js +1 -0
- package/.next/static/chunks/23_1z47al92nz.js +57 -0
- package/.next/static/chunks/260bomtr214m8.js +34 -0
- package/.next/static/chunks/2eo9pqq9gay3r.js +34 -0
- package/.next/static/chunks/2xk2ra4piiuod.js +34 -0
- package/.next/static/chunks/2z1-q0_vunbql.js +2 -0
- package/.next/static/chunks/2zf4jmz9l3li2.js +1 -0
- package/.next/static/chunks/34g73qhayuevu.js +1 -0
- package/.next/static/chunks/3b0-14cxqsprt.js +1 -0
- package/.next/static/chunks/3jarus1_38s2z.js +1 -0
- package/.next/static/chunks/3ssu341hav_sq.css +3 -0
- package/.next/static/chunks/3v1qd3sqhqn0d.js +1 -0
- package/.next/static/chunks/43pg2sursiypz.js +1 -0
- package/.next/static/chunks/44yn0tcd9dfk3.js +1 -0
- package/CHANGELOG.md +143 -0
- package/README.md +71 -49
- package/SECURITY.md +17 -11
- package/lib/backups.js +458 -0
- package/lib/chain-layout.js +32 -0
- package/lib/csv-store.js +131 -0
- package/lib/csv.js +137 -39
- package/lib/data-folder.js +19 -3
- package/lib/data-import.js +5 -2
- package/lib/db-client.js +78 -20
- package/lib/demo.js +5 -4
- package/lib/galaxy-export.js +9 -2
- package/lib/galaxy-lab.js +19 -5
- package/lib/galaxy-layouts.js +43 -0
- package/lib/gate.js +10 -4
- package/lib/ingest.js +1 -1
- package/lib/linkedin-limits.js +212 -11
- package/lib/liquid-glass.js +59 -0
- package/lib/notifications.js +13 -0
- package/lib/scan-pace.js +11 -0
- package/lib/scan-progress.js +20 -0
- package/lib/scan-risk.js +44 -0
- package/lib/scanner-setup.js +97 -15
- package/lib/scraper-client.js +17 -3
- package/lib/search-risk.js +7 -3
- package/lib/settings-client.js +5 -3
- package/lib/settings.js +10 -0
- package/lib/social-store.js +3 -2
- package/lib/synced-setting.js +46 -0
- package/lib/theme-store.js +42 -10
- package/lib/themes.js +111 -21
- package/lib/usage.js +195 -0
- package/package.json +1 -1
- package/scripts/scrape.py +26 -2
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__0-rnla2._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__14ou7j5._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__16iu0hv._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1kbl21f._.js +0 -3
- package/.next/standalone/.next/server/chunks/[root-of-the-server]__1rphsdk._.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_0851sk0._.js +0 -8
- package/.next/standalone/.next/server/chunks/lib_1q7p2ro._.js +0 -8
- package/.next/standalone/.next/server/chunks/lib_1r6l86l._.js +0 -8
- package/.next/standalone/.next/server/chunks/lib_db-client_15le7cw.js +0 -174
- package/.next/standalone/.next/server/chunks/lib_rpc_04s8mzr.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_053z7as.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0b_-2te.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0dhbxdm.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0dxlk31.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0f8b-qc.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0pzie7_.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0r76fq_.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_0ut7pjp.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_15zyqaz.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_18zpjtq.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_1a8xkiz.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_1e_55xo.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_1oxfd1_.js +0 -3
- package/.next/standalone/.next/server/chunks/lib_rpc_1s0lod0.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__08oxiqh._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_03l7vge._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_08g31gm._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0gk_ofx._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0nwsf93._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_0vho1lb._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_1-658fq._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_1bc46kz._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/_2105jz8._.js +0 -3
- package/.next/standalone/.next/server/chunks/ssr/app_components_settings_SectorPicker_1c-29qw.js +0 -3
- package/.next/standalone/.next/static/chunks/02pq76u7y4v9-.js +0 -22
- package/.next/standalone/.next/static/chunks/0cmq0exd4d0h9.js +0 -1
- package/.next/standalone/.next/static/chunks/0i02yxppzds1o.js +0 -1
- package/.next/standalone/.next/static/chunks/0m_p4k-q2qh--.js +0 -1
- package/.next/standalone/.next/static/chunks/0oyslj62jkubd.js +0 -1
- package/.next/standalone/.next/static/chunks/0vo-l8hxneba6.css +0 -3
- package/.next/standalone/.next/static/chunks/0yh8z2tbrc5i_.js +0 -1
- package/.next/standalone/.next/static/chunks/17-rhp8sg4m1b.js +0 -44
- package/.next/standalone/.next/static/chunks/172e10mi-tpo_.js +0 -34
- package/.next/standalone/.next/static/chunks/1ei5vbe2uw6fl.js +0 -1
- package/.next/standalone/.next/static/chunks/1f7_pl_wq7lh3.js +0 -11
- package/.next/standalone/.next/static/chunks/1jzbe7zdx9vbj.js +0 -2
- package/.next/standalone/.next/static/chunks/1m3017gp790pw.js +0 -45
- package/.next/standalone/.next/static/chunks/1t20e8u0st7ep.js +0 -1
- package/.next/standalone/.next/static/chunks/2-ch9rm27eril.js +0 -11
- package/.next/standalone/.next/static/chunks/2ldv-v3s9yaif.js +0 -1
- package/.next/standalone/.next/static/chunks/3bp284gjf7dyq.js +0 -1
- package/.next/standalone/.next/static/chunks/3k1f6clbn3gj3.js +0 -7
- package/.next/standalone/.next/static/chunks/3l4t8je6iguzc.js +0 -1
- package/.next/standalone/.next/static/chunks/3tplzuc9jk-tl.js +0 -1
- package/.next/standalone/.next/static/chunks/42m0bqr8pbovz.js +0 -11
- package/.next/static/chunks/02pq76u7y4v9-.js +0 -22
- package/.next/static/chunks/0cmq0exd4d0h9.js +0 -1
- package/.next/static/chunks/0i02yxppzds1o.js +0 -1
- package/.next/static/chunks/0m_p4k-q2qh--.js +0 -1
- package/.next/static/chunks/0oyslj62jkubd.js +0 -1
- package/.next/static/chunks/0vo-l8hxneba6.css +0 -3
- package/.next/static/chunks/0yh8z2tbrc5i_.js +0 -1
- package/.next/static/chunks/17-rhp8sg4m1b.js +0 -44
- package/.next/static/chunks/172e10mi-tpo_.js +0 -34
- package/.next/static/chunks/1ei5vbe2uw6fl.js +0 -1
- package/.next/static/chunks/1f7_pl_wq7lh3.js +0 -11
- package/.next/static/chunks/1jzbe7zdx9vbj.js +0 -2
- package/.next/static/chunks/1m3017gp790pw.js +0 -45
- package/.next/static/chunks/1t20e8u0st7ep.js +0 -1
- package/.next/static/chunks/2-ch9rm27eril.js +0 -11
- package/.next/static/chunks/2ldv-v3s9yaif.js +0 -1
- package/.next/static/chunks/3bp284gjf7dyq.js +0 -1
- package/.next/static/chunks/3k1f6clbn3gj3.js +0 -7
- package/.next/static/chunks/3l4t8je6iguzc.js +0 -1
- package/.next/static/chunks/3tplzuc9jk-tl.js +0 -1
- package/.next/static/chunks/42m0bqr8pbovz.js +0 -11
- /package/.next/standalone/.next/static/{dQUvvVSXqbkEFC3-CNcwT → ZVpLBK-2vpllv2HxOFs2d}/_buildManifest.js +0 -0
- /package/.next/standalone/.next/static/{dQUvvVSXqbkEFC3-CNcwT → ZVpLBK-2vpllv2HxOFs2d}/_clientMiddlewareManifest.js +0 -0
- /package/.next/standalone/.next/static/{dQUvvVSXqbkEFC3-CNcwT → ZVpLBK-2vpllv2HxOFs2d}/_ssgManifest.js +0 -0
- /package/.next/static/{dQUvvVSXqbkEFC3-CNcwT → ZVpLBK-2vpllv2HxOFs2d}/_buildManifest.js +0 -0
- /package/.next/static/{dQUvvVSXqbkEFC3-CNcwT → ZVpLBK-2vpllv2HxOFs2d}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{dQUvvVSXqbkEFC3-CNcwT → ZVpLBK-2vpllv2HxOFs2d}/_ssgManifest.js +0 -0
|
@@ -35,16 +35,16 @@ export default function StaleServerBanner() {
|
|
|
35
35
|
>
|
|
36
36
|
<span>
|
|
37
37
|
You have newer code on disk ({info.sha}) than this server is running ({info.bootSha}).
|
|
38
|
-
Restart it to see the changes
|
|
39
|
-
background: 'rgba(0,0,0,0.16)', padding: '1px 6px', borderRadius: 4,
|
|
38
|
+
Restart it to see the changes: <code style={{
|
|
39
|
+
background: 'rgba(var(--sd-shade, 0, 0, 0), 0.16)', padding: '1px 6px', borderRadius: 4,
|
|
40
40
|
}}>Ctrl-C</code> in the terminal, then <code style={{
|
|
41
|
-
background: 'rgba(0,0,0,0.16)', padding: '1px 6px', borderRadius: 4,
|
|
41
|
+
background: 'rgba(var(--sd-shade, 0, 0, 0), 0.16)', padding: '1px 6px', borderRadius: 4,
|
|
42
42
|
}}>npm run dev</code>.
|
|
43
43
|
</span>
|
|
44
44
|
<button
|
|
45
45
|
onClick={() => setInfo(null)}
|
|
46
46
|
style={{
|
|
47
|
-
border: 'none', background: 'rgba(0,0,0,0.18)', color: '#1a1200',
|
|
47
|
+
border: 'none', background: 'rgba(var(--sd-shade, 0, 0, 0), 0.18)', color: '#1a1200',
|
|
48
48
|
borderRadius: 6, padding: '3px 10px', fontWeight: 700, cursor: 'pointer',
|
|
49
49
|
}}
|
|
50
50
|
>Dismiss</button>
|
|
@@ -60,27 +60,27 @@ export default function TheirCircle({ person, connections = [], degree2 = [], ti
|
|
|
60
60
|
<Label>Their circle</Label>
|
|
61
61
|
{guess ? (
|
|
62
62
|
<>
|
|
63
|
-
<div style={{ fontSize: 11.5, color: '#d8ccb0', lineHeight: 1.5, marginBottom: canScan ? 9 : 0 }}>
|
|
64
|
-
<b style={{ color: '#FFD700' }}>Their score is a guess.</b> {guess.reason}
|
|
63
|
+
<div style={{ fontSize: 11.5, color: 'var(--sd-fg-2, #d8ccb0)', lineHeight: 1.5, marginBottom: canScan ? 9 : 0 }}>
|
|
64
|
+
<b style={{ color: 'var(--sd-gold, #FFD700)' }}>Their score is a guess.</b> {guess.reason}
|
|
65
65
|
{canScan && <> Scanning {first}'s circle shows who you can reach through them, and a strong
|
|
66
66
|
circle adds up to +2 to their score.</>}
|
|
67
67
|
</div>
|
|
68
68
|
{canScan && (
|
|
69
69
|
<button type="button" onClick={toScanBox} style={{
|
|
70
70
|
width: '100%', padding: '8px 10px', borderRadius: 8, cursor: 'pointer', fontSize: 12, fontWeight: 700,
|
|
71
|
-
border: '1px solid rgba(255,215,0,0.4)', background: 'rgba(255,215,0,0.08)', color: '#FFD700',
|
|
71
|
+
border: '1px solid rgba(255,215,0,0.4)', background: 'rgba(255,215,0,0.08)', color: 'var(--sd-gold, #FFD700)',
|
|
72
72
|
}}>
|
|
73
73
|
Scan their circle ↓
|
|
74
74
|
</button>
|
|
75
75
|
)}
|
|
76
76
|
</>
|
|
77
77
|
) : canScan ? (
|
|
78
|
-
<div style={{ fontSize: 11, color: '#999', lineHeight: 1.5 }}>
|
|
78
|
+
<div style={{ fontSize: 11, color: 'var(--sd-fg-3, #999)', lineHeight: 1.5 }}>
|
|
79
79
|
Not scanned yet. Scan {first}'s circle below to see who they know, and
|
|
80
80
|
everyone you reach through them after that.
|
|
81
81
|
</div>
|
|
82
82
|
) : (
|
|
83
|
-
<div style={{ fontSize: 11, color: '#999', lineHeight: 1.5 }}>Not scanned.</div>
|
|
83
|
+
<div style={{ fontSize: 11, color: 'var(--sd-fg-3, #999)', lineHeight: 1.5 }}>Not scanned.</div>
|
|
84
84
|
)}
|
|
85
85
|
</div>
|
|
86
86
|
);
|
|
@@ -99,7 +99,7 @@ export default function TheirCircle({ person, connections = [], degree2 = [], ti
|
|
|
99
99
|
/>
|
|
100
100
|
);
|
|
101
101
|
const note = (
|
|
102
|
-
<div style={{ fontSize: 9.5, color: '#777', lineHeight: 1.45, marginTop: 6 }}>
|
|
102
|
+
<div style={{ fontSize: 9.5, color: 'var(--sd-fg-4, #777)', lineHeight: 1.45, marginTop: 6 }}>
|
|
103
103
|
Rarity is how many mutual connections lead to someone. It never changes a score.{' '}
|
|
104
104
|
{fromLinkedIn
|
|
105
105
|
? 'LinkedIn’s own count where a scan saved it; otherwise the ways in from your scans.'
|
|
@@ -146,7 +146,7 @@ function RingMap({ person, rings, facts, filter, tierColors, size, labels = fals
|
|
|
146
146
|
role="img" aria-label={`${person.name}'s circle, ${rings.length} ${rings.length === 1 ? 'ring' : 'rings'}`}>
|
|
147
147
|
{layout.rings.map((ring) => (
|
|
148
148
|
<g key={ring.degree}>
|
|
149
|
-
<circle cx={c.x} cy={c.y} r={ring.radius} fill="none" stroke="rgba(255,255,255,0.07)" strokeWidth={0.6 * k} />
|
|
149
|
+
<circle cx={c.x} cy={c.y} r={ring.radius} fill="none" stroke="rgba(var(--sd-ink, 255, 255, 255), 0.07)" strokeWidth={0.6 * k} />
|
|
150
150
|
<text x={c.x} y={c.y - ring.radius - ring.dotR - 3 * k} textAnchor="middle" fontSize={6.5 * k} fill="#666" fontWeight={700}>
|
|
151
151
|
D{ring.degree}
|
|
152
152
|
</text>
|
|
@@ -173,19 +173,19 @@ function RingMap({ person, rings, facts, filter, tierColors, size, labels = fals
|
|
|
173
173
|
<circle cx={it.x} cy={it.y} r={r * 1.25} fill="none" stroke={color} strokeWidth={Math.max(0.5, r * 0.45)}
|
|
174
174
|
strokeDasharray={`${Math.max(0.6, r * 0.55)} ${Math.max(0.5, r * 0.45)}`} />
|
|
175
175
|
) : (
|
|
176
|
-
<circle cx={it.x} cy={it.y} r={r} fill={color}
|
|
176
|
+
<circle className="sd-dot" cx={it.x} cy={it.y} r={r} fill={color}
|
|
177
177
|
stroke={it.state === 'connected' ? GREEN : 'none'} strokeWidth={Math.max(0.6, r * 0.3)} />
|
|
178
178
|
)}
|
|
179
179
|
{labels && it.state === 'connected' && (
|
|
180
|
-
<text x={it.x} y={it.y - r - 3} textAnchor="middle" fontSize={9} fill=
|
|
180
|
+
<text x={it.x} y={it.y - r - 3} textAnchor="middle" fontSize={9} fill="var(--sd-green, #00ff88)" fontWeight={700}>
|
|
181
181
|
{String(it.row.name || '').split(' ')[0]}
|
|
182
182
|
</text>
|
|
183
183
|
)}
|
|
184
184
|
</g>
|
|
185
185
|
);
|
|
186
186
|
}))}
|
|
187
|
-
<circle cx={c.x} cy={c.y} r={7 * k} fill={tierColors[person.tier] || '#888'} stroke="#fff" strokeWidth={0.8 * k} />
|
|
188
|
-
<text x={c.x} y={c.y + 2.4 * k} textAnchor="middle" fontSize={6.5 * k} fontWeight={800} fill={person.tier === 'S' ? '#000' : '#fff'}>
|
|
187
|
+
<circle className="sd-dot" cx={c.x} cy={c.y} r={7 * k} fill={tierColors[person.tier] || 'var(--sd-fg-3, #888)'} stroke="#fff" strokeWidth={0.8 * k} />
|
|
188
|
+
<text x={c.x} y={c.y + 2.4 * k} textAnchor="middle" fontSize={6.5 * k} fontWeight={800} fill={person.tier === 'S' ? '#000' : 'var(--sd-fg-1, #fff)'}>
|
|
189
189
|
{String(person.name || '?').charAt(0)}
|
|
190
190
|
</text>
|
|
191
191
|
</svg>
|
|
@@ -194,11 +194,11 @@ function RingMap({ person, rings, facts, filter, tierColors, size, labels = fals
|
|
|
194
194
|
|
|
195
195
|
function RingCounts({ rings, totals, shown }) {
|
|
196
196
|
return (
|
|
197
|
-
<div style={{ fontSize: 10.5, color: '#aaa', marginTop: 6, lineHeight: 1.5 }}>
|
|
197
|
+
<div style={{ fontSize: 10.5, color: 'var(--sd-fg-3, #aaa)', marginTop: 6, lineHeight: 1.5 }}>
|
|
198
198
|
{rings.map((r) => `D${r.degree} ${r.people.length.toLocaleString('en-US')}`).join(' · ')}
|
|
199
199
|
{totals.connected > 0 && <span style={{ color: GREEN }}> · you added {totals.connected}</span>}
|
|
200
|
-
{totals.requested > 0 && <span style={{ color: '#FFD700' }}> · {totals.requested} {totals.requested === 1 ? 'request' : 'requests'} out</span>}
|
|
201
|
-
{shown != null && <span style={{ color: '#fff' }}> · {shown.toLocaleString('en-US')} shown</span>}
|
|
200
|
+
{totals.requested > 0 && <span style={{ color: 'var(--sd-gold, #FFD700)' }}> · {totals.requested} {totals.requested === 1 ? 'request' : 'requests'} out</span>}
|
|
201
|
+
{shown != null && <span style={{ color: 'var(--sd-fg-1, #fff)' }}> · {shown.toLocaleString('en-US')} shown</span>}
|
|
202
202
|
</div>
|
|
203
203
|
);
|
|
204
204
|
}
|
|
@@ -206,8 +206,8 @@ function RingCounts({ rings, totals, shown }) {
|
|
|
206
206
|
function Filters({ tierColors, byTier, byRarity, tiers, rarities, onTier, onRarity, onClear }) {
|
|
207
207
|
const chip = (on, color) => ({
|
|
208
208
|
height: 22, padding: '0 7px', borderRadius: 11, cursor: 'pointer', fontSize: 10, fontWeight: 700,
|
|
209
|
-
whiteSpace: 'nowrap', border: `1px solid ${on ? color : 'rgba(255,255,255,0.1)'}`,
|
|
210
|
-
background: on ? `${color}22` : 'rgba(255,255,255,0.03)', color: on ? color : '#999',
|
|
209
|
+
whiteSpace: 'nowrap', border: `1px solid ${on ? color : 'rgba(var(--sd-ink, 255, 255, 255), 0.1)'}`,
|
|
210
|
+
background: on ? `${color}22` : 'rgba(var(--sd-ink, 255, 255, 255), 0.03)', color: on ? color : 'var(--sd-fg-3, #999)',
|
|
211
211
|
});
|
|
212
212
|
return (
|
|
213
213
|
<div style={{ marginTop: 8, display: 'flex', flexDirection: 'column', gap: 5 }}>
|
|
@@ -240,8 +240,8 @@ function Legend() {
|
|
|
240
240
|
<span style={{ display: 'inline-flex', alignItems: 'center', gap: 5, marginRight: 12, whiteSpace: 'nowrap' }}>{swatch}{text}</span>
|
|
241
241
|
);
|
|
242
242
|
return (
|
|
243
|
-
<div style={{ fontSize: 10.5, color: '#999', marginTop: 8, lineHeight: 1.8 }}>
|
|
244
|
-
{item(<svg width="10" height="10"><circle cx="5" cy="5" r="4" fill="#FFD700" /></svg>, 'colour = tier')}
|
|
243
|
+
<div style={{ fontSize: 10.5, color: 'var(--sd-fg-3, #999)', marginTop: 8, lineHeight: 1.8 }}>
|
|
244
|
+
{item(<svg width="10" height="10"><circle cx="5" cy="5" r="4" fill="var(--sd-fg-2, #FFD700)" /></svg>, 'colour = tier')}
|
|
245
245
|
{item(<svg width="12" height="12"><circle cx="6" cy="6" r="4" fill="#9B59B6" stroke={GREEN} strokeWidth="1.5" /></svg>, 'you added them')}
|
|
246
246
|
{item(<svg width="12" height="12"><circle cx="6" cy="6" r="4.2" fill="none" stroke="#3498DB" strokeWidth="1.4" strokeDasharray="2 1.6" /></svg>, 'request sent')}
|
|
247
247
|
</div>
|
|
@@ -260,18 +260,18 @@ function Enlarged({ title, onClose, children }) {
|
|
|
260
260
|
}, [onClose]);
|
|
261
261
|
return createPortal(
|
|
262
262
|
<div role="dialog" aria-modal="true" aria-label={title} onClick={onClose} style={{
|
|
263
|
-
position: 'fixed', inset: 0, zIndex: 300, background: 'rgba(0,0,0,0.78)',
|
|
263
|
+
position: 'fixed', inset: 0, zIndex: 300, background: 'rgba(var(--sd-shade, 0, 0, 0), 0.78)',
|
|
264
264
|
display: 'flex', alignItems: 'center', justifyContent: 'center', padding: 16,
|
|
265
265
|
}}>
|
|
266
266
|
<div onClick={(e) => e.stopPropagation()} style={{
|
|
267
267
|
width: 'min(720px, 100%)', maxHeight: '100%', overflowY: 'auto', boxSizing: 'border-box',
|
|
268
|
-
background: '#0f0c05', border: '1px solid rgba(255,215,0,0.18)', borderRadius: 14, padding: 16,
|
|
268
|
+
background: 'var(--sd-surface, #0f0c05)', border: '1px solid rgba(255,215,0,0.18)', borderRadius: 14, padding: 16,
|
|
269
269
|
}}>
|
|
270
270
|
<div style={{ display: 'flex', justifyContent: 'space-between', alignItems: 'center', marginBottom: 8 }}>
|
|
271
|
-
<div style={{ fontSize: 14, fontWeight: 800, color: '#fff' }}>{title}</div>
|
|
271
|
+
<div style={{ fontSize: 14, fontWeight: 800, color: 'var(--sd-fg-1, #fff)' }}>{title}</div>
|
|
272
272
|
<button type="button" onClick={onClose} style={{ ...linkButton, fontSize: 12 }}>Close ✕</button>
|
|
273
273
|
</div>
|
|
274
|
-
<div style={{ fontSize: 10.5, color: '#888', marginBottom: 8 }}>Click a dot to open that person.</div>
|
|
274
|
+
<div style={{ fontSize: 10.5, color: 'var(--sd-fg-3, #888)', marginBottom: 8 }}>Click a dot to open that person.</div>
|
|
275
275
|
{children}
|
|
276
276
|
</div>
|
|
277
277
|
</div>,
|
|
@@ -290,12 +290,12 @@ function toScanBox() {
|
|
|
290
290
|
}
|
|
291
291
|
|
|
292
292
|
function Label({ children }) {
|
|
293
|
-
return <div style={{ fontSize: 10, fontWeight: 700, color: '#FF6B35', letterSpacing: 1, textTransform: 'uppercase', marginBottom: 6 }}>{children}</div>;
|
|
293
|
+
return <div style={{ fontSize: 10, fontWeight: 700, color: 'var(--sd-orange, #FF6B35)', letterSpacing: 1, textTransform: 'uppercase', marginBottom: 6 }}>{children}</div>;
|
|
294
294
|
}
|
|
295
295
|
|
|
296
296
|
const box = {
|
|
297
|
-
background: 'rgba(255,255,255,0.03)', border: '1px solid rgba(255,255,255,0.07)',
|
|
297
|
+
background: 'rgba(var(--sd-ink, 255, 255, 255), 0.03)', border: '1px solid rgba(var(--sd-ink, 255, 255, 255), 0.07)',
|
|
298
298
|
borderRadius: 10, padding: 10, marginBottom: 16,
|
|
299
299
|
};
|
|
300
|
-
const rowLabel = { fontSize: 9, color: '#666', textTransform: 'uppercase', letterSpacing: 0.5, width: 38, flexShrink: 0 };
|
|
301
|
-
const linkButton = { background: 'none', border: 'none', color: '#888', fontSize: 10.5, fontWeight: 600, cursor: 'pointer', padding: 0 };
|
|
300
|
+
const rowLabel = { fontSize: 9, color: 'var(--sd-fg-4, #666)', textTransform: 'uppercase', letterSpacing: 0.5, width: 38, flexShrink: 0 };
|
|
301
|
+
const linkButton = { background: 'none', border: 'none', color: 'var(--sd-fg-3, #888)', fontSize: 10.5, fontWeight: 600, cursor: 'pointer', padding: 0 };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// The SVG filters a look's dots use on every map but the Galaxy (which paints
|
|
2
|
+
// its own, for thousands of dots): app/globals.css applies them to `.sd-dot`
|
|
3
|
+
// under html[data-dots]. Any colour works, since they light the dot's own shape.
|
|
4
|
+
//
|
|
5
|
+
// #sd-droplet a drop of glass: lit from the top left (a specular highlight
|
|
6
|
+
// on the dot's own shape), a little see-through, with a bright rim
|
|
7
|
+
// #sd-glow a soft light round the dot in its own colour
|
|
8
|
+
//
|
|
9
|
+
// Rendered once, in the layout, as a hidden <svg>.
|
|
10
|
+
|
|
11
|
+
export default function ThemeDefs() {
|
|
12
|
+
return (
|
|
13
|
+
<svg width="0" height="0" aria-hidden="true" focusable="false" style={{ position: 'absolute', width: 0, height: 0, pointerEvents: 'none' }}>
|
|
14
|
+
<defs>
|
|
15
|
+
<filter id="sd-droplet" x="-30%" y="-30%" width="160%" height="160%" colorInterpolationFilters="sRGB">
|
|
16
|
+
<feGaussianBlur in="SourceAlpha" stdDeviation="1.4" result="soft" />
|
|
17
|
+
<feSpecularLighting in="soft" surfaceScale="4" specularConstant="1.15" specularExponent="24" lightingColor="#ffffff" result="light">
|
|
18
|
+
<feDistantLight azimuth="225" elevation="52" />
|
|
19
|
+
</feSpecularLighting>
|
|
20
|
+
<feComposite in="light" in2="SourceAlpha" operator="in" result="shine" />
|
|
21
|
+
<feComponentTransfer in="SourceGraphic" result="clear"><feFuncA type="linear" slope="0.72" /></feComponentTransfer>
|
|
22
|
+
<feMorphology in="SourceAlpha" operator="erode" radius="0.8" result="inner" />
|
|
23
|
+
<feComposite in="SourceAlpha" in2="inner" operator="out" result="edge" />
|
|
24
|
+
<feFlood floodColor="#ffffff" floodOpacity="0.55" />
|
|
25
|
+
<feComposite in2="edge" operator="in" result="rim" />
|
|
26
|
+
<feMerge>
|
|
27
|
+
<feMergeNode in="clear" />
|
|
28
|
+
<feMergeNode in="shine" />
|
|
29
|
+
<feMergeNode in="rim" />
|
|
30
|
+
</feMerge>
|
|
31
|
+
</filter>
|
|
32
|
+
<filter id="sd-glow" x="-80%" y="-80%" width="260%" height="260%" colorInterpolationFilters="sRGB">
|
|
33
|
+
<feGaussianBlur in="SourceGraphic" stdDeviation="2.4" result="b" />
|
|
34
|
+
<feMerge>
|
|
35
|
+
<feMergeNode in="b" />
|
|
36
|
+
<feMergeNode in="SourceGraphic" />
|
|
37
|
+
</feMerge>
|
|
38
|
+
</filter>
|
|
39
|
+
</defs>
|
|
40
|
+
</svg>
|
|
41
|
+
);
|
|
42
|
+
}
|
|
@@ -2,8 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
// Loads the theme store on every page (lib/theme-store.js), which applies the
|
|
4
4
|
// theme in use before anything draws. It renders nothing.
|
|
5
|
-
|
|
5
|
+
//
|
|
6
|
+
// Then it asks the server once for the choices kept with the network (the
|
|
7
|
+
// look, the Galaxy's saved layouts: lib/settings.js), which win over this
|
|
8
|
+
// browser's copy of them: a restore or an import brings its own
|
|
9
|
+
// (lib/synced-setting.js). The layouts' code loads only then.
|
|
10
|
+
import { useEffect } from 'react';
|
|
11
|
+
import { adoptSavedTheme } from '../../lib/theme-store';
|
|
6
12
|
|
|
7
13
|
export default function ThemeLoader() {
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
let live = true;
|
|
16
|
+
fetch('/api/settings', { cache: 'no-store' })
|
|
17
|
+
.then((r) => (r.ok ? r.json() : null))
|
|
18
|
+
.then(async (d) => {
|
|
19
|
+
if (!live || !d?.settings) return;
|
|
20
|
+
adoptSavedTheme(d.settings.theme);
|
|
21
|
+
const { adoptSavedLayouts } = await import('../../lib/galaxy-lab');
|
|
22
|
+
if (live) adoptSavedLayouts(d.settings.galaxyLayouts);
|
|
23
|
+
})
|
|
24
|
+
.catch(() => { /* no server (the sample, a static page): this browser's copy stands */ });
|
|
25
|
+
return () => { live = false; };
|
|
26
|
+
}, []);
|
|
8
27
|
return null;
|
|
9
28
|
}
|
|
@@ -75,25 +75,25 @@ function GitUpdates({ local }) {
|
|
|
75
75
|
{done ? (
|
|
76
76
|
<>
|
|
77
77
|
<Body>
|
|
78
|
-
Updated to <Mono>{done.sha}</Mono
|
|
78
|
+
Updated to <Mono>{done.sha}</Mono>: “{done.subject}”.
|
|
79
79
|
</Body>
|
|
80
|
-
<Body style={{ color: done.needsRestart ? '#FFD700' : undefined }}>
|
|
80
|
+
<Body style={{ color: done.needsRestart ? 'var(--sd-gold, #FFD700)' : undefined }}>
|
|
81
81
|
{done.needsRestart
|
|
82
|
-
? 'Stop the app in your terminal and start it again
|
|
82
|
+
? 'Stop the app in your terminal and start it again: this update changed how it starts.'
|
|
83
83
|
: 'The page will pick up most changes on its own. Restart the app if anything looks odd.'}
|
|
84
84
|
</Body>
|
|
85
85
|
</>
|
|
86
86
|
) : (
|
|
87
87
|
<>
|
|
88
88
|
<Body>
|
|
89
|
-
You are on <Mono>{local.sha}</Mono
|
|
89
|
+
You are on <Mono>{local.sha}</Mono>: “{local.subject}”.
|
|
90
90
|
</Body>
|
|
91
91
|
|
|
92
92
|
{result && result.behind === 0 && <Status tone="ok">You’re up to date.</Status>}
|
|
93
93
|
|
|
94
94
|
{result && result.behind > 0 && (
|
|
95
95
|
<>
|
|
96
|
-
<Body style={{ color: '#00ff88' }}>
|
|
96
|
+
<Body style={{ color: 'var(--sd-green, #00ff88)' }}>
|
|
97
97
|
{result.behind} update{result.behind === 1 ? '' : 's'} available.
|
|
98
98
|
</Body>
|
|
99
99
|
<pre style={pre}>{result.commits.join('\n')}</pre>
|
|
@@ -103,7 +103,7 @@ function GitUpdates({ local }) {
|
|
|
103
103
|
{result?.dirty?.length > 0 && (
|
|
104
104
|
<Body>
|
|
105
105
|
Changed files here:{' '}
|
|
106
|
-
<Mono>{result.dirty.join(', ')}</Mono>. Commit or discard them first
|
|
106
|
+
<Mono>{result.dirty.join(', ')}</Mono>. Commit or discard them first: this
|
|
107
107
|
will not throw away your work.
|
|
108
108
|
</Body>
|
|
109
109
|
)}
|
|
@@ -121,10 +121,10 @@ function GitUpdates({ local }) {
|
|
|
121
121
|
</>
|
|
122
122
|
)}
|
|
123
123
|
|
|
124
|
-
{error && <Body style={{ color: '#ff7676' }}>{error}</Body>}
|
|
124
|
+
{error && <Body style={{ color: 'var(--sd-red, #ff7676)' }}>{error}</Body>}
|
|
125
125
|
|
|
126
|
-
<Body style={{ fontSize: 12, color: '#667', marginTop: 12 }}>
|
|
127
|
-
Nothing is checked automatically and nothing about you is sent
|
|
126
|
+
<Body style={{ fontSize: 12, color: 'var(--sd-fg-4, #667)', marginTop: 12 }}>
|
|
127
|
+
Nothing is checked automatically and nothing about you is sent: this runs the
|
|
128
128
|
same <Mono>git fetch</Mono> and <Mono>git pull</Mono> you would type yourself.
|
|
129
129
|
</Body>
|
|
130
130
|
</Section>
|
|
@@ -262,7 +262,7 @@ function InstalledUpdates({ local }) {
|
|
|
262
262
|
setCopied(true);
|
|
263
263
|
setTimeout(() => setCopied(false), 1600);
|
|
264
264
|
} catch {
|
|
265
|
-
setError('Could not copy
|
|
265
|
+
setError('Could not copy. Select the line and copy it by hand.');
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
268
|
|
|
@@ -303,13 +303,13 @@ function InstalledUpdates({ local }) {
|
|
|
303
303
|
{result?.latest && !result.newer && (
|
|
304
304
|
<Status tone="ok">
|
|
305
305
|
You’re up to date: {result.latest.version} is the newest version.
|
|
306
|
-
{checkedAt && <span style={{ color: '#8b9a9a' }}> Checked at {checkedAt.toLocaleTimeString([], { hour: 'numeric', minute: '2-digit' })}.</span>}
|
|
306
|
+
{checkedAt && <span style={{ color: 'var(--sd-fg-3, #8b9a9a)' }}> Checked at {checkedAt.toLocaleTimeString([], { hour: 'numeric', minute: '2-digit' })}.</span>}
|
|
307
307
|
</Status>
|
|
308
308
|
)}
|
|
309
309
|
|
|
310
310
|
{result?.newer && (
|
|
311
311
|
<>
|
|
312
|
-
<Body style={{ color: '#00ff88' }}>Version {result.latest.version} is available.</Body>
|
|
312
|
+
<Body style={{ color: 'var(--sd-green, #00ff88)' }}>Version {result.latest.version} is available.</Body>
|
|
313
313
|
{canInstall && (
|
|
314
314
|
<>
|
|
315
315
|
<Body>
|
|
@@ -376,15 +376,15 @@ function InstalledUpdates({ local }) {
|
|
|
376
376
|
</>
|
|
377
377
|
)}
|
|
378
378
|
|
|
379
|
-
{error && <Body style={{ color: '#ff7676' }}>{error}</Body>}
|
|
379
|
+
{error && <Body style={{ color: 'var(--sd-red, #ff7676)' }}>{error}</Body>}
|
|
380
380
|
|
|
381
|
-
<Body style={{ fontSize: 12, color: '#667', marginTop: 12 }}>
|
|
381
|
+
<Body style={{ fontSize: 12, color: 'var(--sd-fg-4, #667)', marginTop: 12 }}>
|
|
382
382
|
Nothing is checked automatically. The button asks GitHub for the newest version
|
|
383
383
|
number, and nothing about you is sent.
|
|
384
384
|
{mac && ' Only a second click, Install and restart, downloads the new version.'}
|
|
385
385
|
</Body>
|
|
386
386
|
{local.testReleases && (
|
|
387
|
-
<Body style={{ fontSize: 12, color: '#FFD700', marginTop: 6 }}>
|
|
387
|
+
<Body style={{ fontSize: 12, color: 'var(--sd-gold, #FFD700)', marginTop: 6 }}>
|
|
388
388
|
Test mode: releases are read from <Mono>{local.testReleases}</Mono> on this computer, not from GitHub.
|
|
389
389
|
</Body>
|
|
390
390
|
)}
|
|
@@ -424,10 +424,10 @@ function Progress({ job, restarting, slow, onCancel }) {
|
|
|
424
424
|
: 'Preparing the new version…';
|
|
425
425
|
return (
|
|
426
426
|
<div role="status" aria-live="polite" style={{ marginTop: 12 }}>
|
|
427
|
-
<Body style={{ color: '#e8e8ee' }}>{text}</Body>
|
|
427
|
+
<Body style={{ color: 'var(--sd-fg-1, #e8e8ee)' }}>{text}</Body>
|
|
428
428
|
{job.phase === 'downloading' && pct !== null && (
|
|
429
429
|
<div role="progressbar" aria-valuemin={0} aria-valuemax={100} aria-valuenow={pct} aria-label="Download"
|
|
430
|
-
style={{ height: 6, borderRadius: 3, background: 'rgba(255,255,255,0.08)', marginTop: 10, overflow: 'hidden', maxWidth: 420 }}>
|
|
430
|
+
style={{ height: 6, borderRadius: 3, background: 'rgba(var(--sd-ink, 255, 255, 255), 0.08)', marginTop: 10, overflow: 'hidden', maxWidth: 420 }}>
|
|
431
431
|
<div style={{ width: `${pct}%`, height: '100%', background: 'linear-gradient(90deg, #9B59B6, #3498DB)', transition: 'width 0.4s ease' }} />
|
|
432
432
|
</div>
|
|
433
433
|
)}
|
|
@@ -448,9 +448,9 @@ function LastUpdate({ report }) {
|
|
|
448
448
|
const when = new Date(report.at).toLocaleString([], { dateStyle: 'medium', timeStyle: 'short' });
|
|
449
449
|
return (
|
|
450
450
|
<Status tone={report.tone === 'ok' ? 'ok' : 'bad'}>
|
|
451
|
-
{report.text} <span style={{ color: '#8b9a9a' }}>({when})</span>
|
|
451
|
+
{report.text} <span style={{ color: 'var(--sd-fg-3, #8b9a9a)' }}>({when})</span>
|
|
452
452
|
{report.tone === 'ok' && report.previous && (
|
|
453
|
-
<span style={{ display: 'block', fontSize: 12.5, color: '#8b9a9a', marginTop: 4 }}>
|
|
453
|
+
<span style={{ display: 'block', fontSize: 12.5, color: 'var(--sd-fg-3, #8b9a9a)', marginTop: 4 }}>
|
|
454
454
|
A copy of the version you had is kept in <Mono>{report.previous}</Mono> until the next update.
|
|
455
455
|
To go back to it, open that file and drag the app it gives you into your Applications folder.
|
|
456
456
|
</span>
|
|
@@ -462,7 +462,7 @@ function LastUpdate({ report }) {
|
|
|
462
462
|
function WhatChanged({ url }) {
|
|
463
463
|
if (!url) return null;
|
|
464
464
|
return (
|
|
465
|
-
<a href={url} target="_blank" rel="noreferrer" style={{ color: '#3498DB', fontSize: 13.5 }}>
|
|
465
|
+
<a href={url} target="_blank" rel="noreferrer" style={{ color: 'var(--sd-blue, #3498DB)', fontSize: 13.5 }}>
|
|
466
466
|
What changed →
|
|
467
467
|
</a>
|
|
468
468
|
);
|
|
@@ -475,8 +475,8 @@ function Row({ children }) {
|
|
|
475
475
|
}
|
|
476
476
|
|
|
477
477
|
const pre = {
|
|
478
|
-
background: 'rgba(0,0,0,0.45)', border: LINE, borderRadius: 8, padding: 12,
|
|
479
|
-
margin: '8px 0 0', fontSize: 12, lineHeight: 1.7, color: '#b9c6c6',
|
|
478
|
+
background: 'rgba(var(--sd-shade, 0, 0, 0), 0.45)', border: LINE, borderRadius: 8, padding: 12,
|
|
479
|
+
margin: '8px 0 0', fontSize: 12, lineHeight: 1.7, color: 'var(--sd-fg-2, #b9c6c6)',
|
|
480
480
|
fontFamily: 'ui-monospace, SFMono-Regular, Menlo, monospace',
|
|
481
481
|
whiteSpace: 'pre-wrap', maxHeight: 180, overflow: 'auto',
|
|
482
482
|
};
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import { createContext, useContext, useState, useEffect } from 'react';
|
|
4
4
|
import { getUserId, getUserName, setUser, hasUser } from '../../lib/user';
|
|
5
5
|
import { IS_DEMO, DEMO_USER } from '../../lib/demo';
|
|
6
|
-
import {
|
|
6
|
+
import { csvNetworkSource, CSV_USER } from '../../lib/csv';
|
|
7
7
|
|
|
8
8
|
const UserContext = createContext({
|
|
9
9
|
userId: null, userName: null, userProfile: null, ready: false,
|
|
@@ -33,18 +33,6 @@ export default function UserProvider({ children }) {
|
|
|
33
33
|
setReady(true);
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
|
-
// An imported CSV is a local, account-free session: adopt a local identity
|
|
37
|
-
// so the app opens straight into their network with no /api/users call.
|
|
38
|
-
if (hasCsvNetwork()) {
|
|
39
|
-
setUserId(CSV_USER.id);
|
|
40
|
-
setUserName(CSV_USER.name);
|
|
41
|
-
setUserProfile({
|
|
42
|
-
name: CSV_USER.name, headline: 'Imported from your LinkedIn CSV',
|
|
43
|
-
role: '', company: '', industry: '', sectors: [], goals: [], linkedin_url: '',
|
|
44
|
-
});
|
|
45
|
-
setReady(true);
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
36
|
// Who "you" are is decided by the server, from the data: the profile that
|
|
49
37
|
// owns the network, or a new one on a fresh install (lib/profile.js).
|
|
50
38
|
//
|
|
@@ -64,8 +52,7 @@ export default function UserProvider({ children }) {
|
|
|
64
52
|
goals: u.goals || [],
|
|
65
53
|
linkedin_url: u.linkedin_url || '',
|
|
66
54
|
});
|
|
67
|
-
|
|
68
|
-
fetch('/api/users?me=1')
|
|
55
|
+
const ownProfile = () => fetch('/api/users?me=1')
|
|
69
56
|
.then((r) => r.json())
|
|
70
57
|
.then((data) => {
|
|
71
58
|
const me = data.user;
|
|
@@ -83,6 +70,26 @@ export default function UserProvider({ children }) {
|
|
|
83
70
|
}
|
|
84
71
|
})
|
|
85
72
|
.finally(() => setReady(true));
|
|
73
|
+
|
|
74
|
+
// A CSV import (kept in the data folder) or the sample open in this window
|
|
75
|
+
// is account-free: adopt a local identity so the app opens straight into
|
|
76
|
+
// it, with no /api/users call and no profile made for it.
|
|
77
|
+
let off = false;
|
|
78
|
+
csvNetworkSource().then((source) => {
|
|
79
|
+
if (off) return;
|
|
80
|
+
if (!source) {
|
|
81
|
+
ownProfile();
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
setUserId(CSV_USER.id);
|
|
85
|
+
setUserName(CSV_USER.name);
|
|
86
|
+
setUserProfile({
|
|
87
|
+
name: CSV_USER.name, headline: 'Imported from your LinkedIn CSV',
|
|
88
|
+
role: '', company: '', industry: '', sectors: [], goals: [], linkedin_url: '',
|
|
89
|
+
});
|
|
90
|
+
setReady(true);
|
|
91
|
+
});
|
|
92
|
+
return () => { off = true; };
|
|
86
93
|
}, []);
|
|
87
94
|
|
|
88
95
|
const login = (id, name) => {
|