af360 0.1.14 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/dist/.next/BUILD_ID +1 -1
  2. package/dist/.next/app-build-manifest.json +139 -130
  3. package/dist/.next/app-path-routes-manifest.json +17 -17
  4. package/dist/.next/build-manifest.json +5 -5
  5. package/dist/.next/prerender-manifest.json +45 -45
  6. package/dist/.next/server/app/_not-found/page.js +2 -2
  7. package/dist/.next/server/app/_not-found/page.js.nft.json +1 -1
  8. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/dist/.next/server/app/_not-found.html +1 -1
  10. package/dist/.next/server/app/_not-found.meta +8 -0
  11. package/dist/.next/server/app/_not-found.rsc +4 -4
  12. package/dist/.next/server/app/ahead/page.js +2 -2
  13. package/dist/.next/server/app/ahead/page.js.nft.json +1 -1
  14. package/dist/.next/server/app/ahead/page_client-reference-manifest.js +1 -1
  15. package/dist/.next/server/app/ahead.html +1 -1
  16. package/dist/.next/server/app/ahead.meta +8 -0
  17. package/dist/.next/server/app/ahead.rsc +5 -5
  18. package/dist/.next/server/app/api/browse/route.js +1 -1
  19. package/dist/.next/server/app/api/browse/route.js.nft.json +1 -1
  20. package/dist/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
  21. package/dist/.next/server/app/api/card/route.js +1 -1
  22. package/dist/.next/server/app/api/card/route.js.nft.json +1 -1
  23. package/dist/.next/server/app/api/card/route_client-reference-manifest.js +1 -1
  24. package/dist/.next/server/app/api/check/route.js +1 -1
  25. package/dist/.next/server/app/api/check/route.js.nft.json +1 -1
  26. package/dist/.next/server/app/api/check/route_client-reference-manifest.js +1 -1
  27. package/dist/.next/server/app/api/config/route.js +1 -1
  28. package/dist/.next/server/app/api/config/route.js.nft.json +1 -1
  29. package/dist/.next/server/app/api/config/route_client-reference-manifest.js +1 -1
  30. package/dist/.next/server/app/api/connections/route.js +3 -3
  31. package/dist/.next/server/app/api/connections/route.js.nft.json +1 -1
  32. package/dist/.next/server/app/api/connections/route_client-reference-manifest.js +1 -1
  33. package/dist/.next/server/app/api/connectors/github/route.js +1 -1
  34. package/dist/.next/server/app/api/connectors/github/route.js.nft.json +1 -1
  35. package/dist/.next/server/app/api/connectors/github/route_client-reference-manifest.js +1 -1
  36. package/dist/.next/server/app/api/consent/route.js +1 -1
  37. package/dist/.next/server/app/api/consent/route.js.nft.json +1 -1
  38. package/dist/.next/server/app/api/consent/route_client-reference-manifest.js +1 -1
  39. package/dist/.next/server/app/api/context/route.js +3 -3
  40. package/dist/.next/server/app/api/context/route.js.nft.json +1 -1
  41. package/dist/.next/server/app/api/context/route_client-reference-manifest.js +1 -1
  42. package/dist/.next/server/app/api/discover/route.js +1 -1
  43. package/dist/.next/server/app/api/discover/route.js.nft.json +1 -1
  44. package/dist/.next/server/app/api/discover/route_client-reference-manifest.js +1 -1
  45. package/dist/.next/server/app/api/expiry/route.js +1 -1
  46. package/dist/.next/server/app/api/expiry/route.js.nft.json +1 -1
  47. package/dist/.next/server/app/api/expiry/route_client-reference-manifest.js +1 -1
  48. package/dist/.next/server/app/api/first-light/route.js +1 -1
  49. package/dist/.next/server/app/api/first-light/route.js.nft.json +1 -1
  50. package/dist/.next/server/app/api/first-light/route_client-reference-manifest.js +1 -1
  51. package/dist/.next/server/app/api/handoff/route.js +1 -1
  52. package/dist/.next/server/app/api/handoff/route.js.nft.json +1 -1
  53. package/dist/.next/server/app/api/handoff/route_client-reference-manifest.js +1 -1
  54. package/dist/.next/server/app/api/health/route.js +1 -1
  55. package/dist/.next/server/app/api/health/route.js.nft.json +1 -1
  56. package/dist/.next/server/app/api/health/route_client-reference-manifest.js +1 -1
  57. package/dist/.next/server/app/api/incidents/route.js +1 -1
  58. package/dist/.next/server/app/api/incidents/route.js.nft.json +1 -1
  59. package/dist/.next/server/app/api/incidents/route_client-reference-manifest.js +1 -1
  60. package/dist/.next/server/app/api/insights/route.js +1 -1
  61. package/dist/.next/server/app/api/insights/route.js.nft.json +1 -1
  62. package/dist/.next/server/app/api/insights/route_client-reference-manifest.js +1 -1
  63. package/dist/.next/server/app/api/log/route.js +1 -1
  64. package/dist/.next/server/app/api/log/route.js.nft.json +1 -1
  65. package/dist/.next/server/app/api/log/route_client-reference-manifest.js +1 -1
  66. package/dist/.next/server/app/api/pulse/route.js +1 -1
  67. package/dist/.next/server/app/api/pulse/route.js.nft.json +1 -1
  68. package/dist/.next/server/app/api/pulse/route_client-reference-manifest.js +1 -1
  69. package/dist/.next/server/app/api/radar/route.js +1 -1
  70. package/dist/.next/server/app/api/radar/route.js.nft.json +1 -1
  71. package/dist/.next/server/app/api/radar/route_client-reference-manifest.js +1 -1
  72. package/dist/.next/server/app/api/report/route.js +1 -1
  73. package/dist/.next/server/app/api/report/route.js.nft.json +1 -1
  74. package/dist/.next/server/app/api/report/route_client-reference-manifest.js +1 -1
  75. package/dist/.next/server/app/api/services/route.js +1 -1
  76. package/dist/.next/server/app/api/services/route.js.nft.json +1 -1
  77. package/dist/.next/server/app/api/services/route_client-reference-manifest.js +1 -1
  78. package/dist/.next/server/app/api/status/route.js +1 -1
  79. package/dist/.next/server/app/api/status/route.js.nft.json +1 -1
  80. package/dist/.next/server/app/api/status/route_client-reference-manifest.js +1 -1
  81. package/dist/.next/server/app/connections/page.js +2 -2
  82. package/dist/.next/server/app/connections/page.js.nft.json +1 -1
  83. package/dist/.next/server/app/connections/page_client-reference-manifest.js +1 -1
  84. package/dist/.next/server/app/connections.html +1 -1
  85. package/dist/.next/server/app/connections.meta +8 -0
  86. package/dist/.next/server/app/connections.rsc +5 -5
  87. package/dist/.next/server/app/dashboard/page.js +2 -2
  88. package/dist/.next/server/app/dashboard/page.js.nft.json +1 -1
  89. package/dist/.next/server/app/dashboard/page_client-reference-manifest.js +1 -1
  90. package/dist/.next/server/app/dashboard.html +1 -1
  91. package/dist/.next/server/app/dashboard.meta +8 -0
  92. package/dist/.next/server/app/dashboard.rsc +4 -4
  93. package/dist/.next/server/app/discoveries/page.js +2 -2
  94. package/dist/.next/server/app/discoveries/page.js.nft.json +1 -1
  95. package/dist/.next/server/app/discoveries/page_client-reference-manifest.js +1 -1
  96. package/dist/.next/server/app/discoveries.html +1 -1
  97. package/dist/.next/server/app/discoveries.meta +8 -0
  98. package/dist/.next/server/app/discoveries.rsc +5 -5
  99. package/dist/.next/server/app/expiry/page.js +2 -2
  100. package/dist/.next/server/app/expiry/page.js.nft.json +1 -1
  101. package/dist/.next/server/app/expiry/page_client-reference-manifest.js +1 -1
  102. package/dist/.next/server/app/expiry.html +1 -1
  103. package/dist/.next/server/app/expiry.meta +8 -0
  104. package/dist/.next/server/app/expiry.rsc +4 -4
  105. package/dist/.next/server/app/fleet/page.js +2 -2
  106. package/dist/.next/server/app/fleet/page.js.nft.json +1 -1
  107. package/dist/.next/server/app/fleet/page_client-reference-manifest.js +1 -1
  108. package/dist/.next/server/app/fleet.html +1 -1
  109. package/dist/.next/server/app/fleet.meta +8 -0
  110. package/dist/.next/server/app/fleet.rsc +4 -4
  111. package/dist/.next/server/app/home/page.js +2 -2
  112. package/dist/.next/server/app/home/page.js.nft.json +1 -1
  113. package/dist/.next/server/app/home/page_client-reference-manifest.js +1 -1
  114. package/dist/.next/server/app/home.html +1 -1
  115. package/dist/.next/server/app/home.meta +8 -0
  116. package/dist/.next/server/app/home.rsc +4 -4
  117. package/dist/.next/server/app/legal/privacy/page.js +2 -2
  118. package/dist/.next/server/app/legal/privacy/page.js.nft.json +1 -1
  119. package/dist/.next/server/app/legal/privacy/page_client-reference-manifest.js +1 -1
  120. package/dist/.next/server/app/legal/terms/page.js +2 -2
  121. package/dist/.next/server/app/legal/terms/page.js.nft.json +1 -1
  122. package/dist/.next/server/app/legal/terms/page_client-reference-manifest.js +1 -1
  123. package/dist/.next/server/app/log/page.js +2 -2
  124. package/dist/.next/server/app/log/page.js.nft.json +1 -1
  125. package/dist/.next/server/app/log/page_client-reference-manifest.js +1 -1
  126. package/dist/.next/server/app/log.html +1 -1
  127. package/dist/.next/server/app/log.meta +8 -0
  128. package/dist/.next/server/app/log.rsc +5 -5
  129. package/dist/.next/server/app/page.js +2 -2
  130. package/dist/.next/server/app/page.js.nft.json +1 -1
  131. package/dist/.next/server/app/page_client-reference-manifest.js +1 -1
  132. package/dist/.next/server/app/projects/page.js +2 -2
  133. package/dist/.next/server/app/projects/page.js.nft.json +1 -1
  134. package/dist/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  135. package/dist/.next/server/app/projects.html +1 -1
  136. package/dist/.next/server/app/projects.meta +8 -0
  137. package/dist/.next/server/app/projects.rsc +5 -5
  138. package/dist/.next/server/app/radar/page.js +2 -65
  139. package/dist/.next/server/app/radar/page.js.nft.json +1 -1
  140. package/dist/.next/server/app/radar/page_client-reference-manifest.js +1 -1
  141. package/dist/.next/server/app/radar.html +1 -1
  142. package/dist/.next/server/app/radar.meta +8 -0
  143. package/dist/.next/server/app/radar.rsc +5 -5
  144. package/dist/.next/server/app/report/page.js +2 -2
  145. package/dist/.next/server/app/report/page.js.nft.json +1 -1
  146. package/dist/.next/server/app/report/page_client-reference-manifest.js +1 -1
  147. package/dist/.next/server/app/report.html +1 -1
  148. package/dist/.next/server/app/report.meta +8 -0
  149. package/dist/.next/server/app/report.rsc +5 -5
  150. package/dist/.next/server/app/settings/page.js +2 -2
  151. package/dist/.next/server/app/settings/page.js.nft.json +1 -1
  152. package/dist/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  153. package/dist/.next/server/app/settings.html +1 -1
  154. package/dist/.next/server/app/settings.meta +8 -0
  155. package/dist/.next/server/app/settings.rsc +5 -5
  156. package/dist/.next/server/app/sites/page.js +2 -2
  157. package/dist/.next/server/app/sites/page.js.nft.json +1 -1
  158. package/dist/.next/server/app/sites/page_client-reference-manifest.js +1 -1
  159. package/dist/.next/server/app/sites.html +1 -1
  160. package/dist/.next/server/app/sites.meta +8 -0
  161. package/dist/.next/server/app/sites.rsc +5 -5
  162. package/dist/.next/server/app/welcome/page.js +2 -2
  163. package/dist/.next/server/app/welcome/page.js.nft.json +1 -1
  164. package/dist/.next/server/app/welcome/page_client-reference-manifest.js +1 -1
  165. package/dist/.next/server/app/welcome.html +1 -1
  166. package/dist/.next/server/app/welcome.meta +8 -0
  167. package/dist/.next/server/app/welcome.rsc +5 -5
  168. package/dist/.next/server/app-paths-manifest.json +17 -17
  169. package/dist/.next/server/chunks/1155.js +1 -1
  170. package/dist/.next/server/chunks/1232.js +1 -0
  171. package/dist/.next/server/chunks/2346.js +1 -1
  172. package/dist/.next/server/chunks/2465.js +64 -1
  173. package/dist/.next/server/chunks/2817.js +1 -1
  174. package/dist/.next/server/chunks/3897.js +22 -0
  175. package/dist/.next/server/chunks/4134.js +1 -1
  176. package/dist/.next/server/chunks/5277.js +1 -0
  177. package/dist/.next/server/chunks/5611.js +1 -1
  178. package/dist/.next/server/chunks/572.js +1 -1
  179. package/dist/.next/server/chunks/6992.js +1 -1
  180. package/dist/.next/server/chunks/7511.js +1 -1
  181. package/dist/.next/server/chunks/7719.js +1 -1
  182. package/dist/.next/server/chunks/8150.js +1 -1
  183. package/dist/.next/server/chunks/8549.js +1 -1
  184. package/dist/.next/server/chunks/876.js +1 -1
  185. package/dist/.next/server/chunks/9170.js +1 -1
  186. package/dist/.next/server/chunks/9655.js +11 -0
  187. package/dist/.next/server/middleware-build-manifest.js +1 -1
  188. package/dist/.next/server/middleware-manifest.json +5 -5
  189. package/dist/.next/server/pages/404.html +1 -1
  190. package/dist/.next/server/pages/500.html +1 -1
  191. package/dist/.next/server/pages/_document.js.nft.json +1 -1
  192. package/dist/.next/server/pages/_error.js +3 -3
  193. package/dist/.next/server/pages/_error.js.nft.json +1 -1
  194. package/dist/.next/server/pages-manifest.json +1 -1
  195. package/dist/.next/server/server-reference-manifest.json +1 -1
  196. package/dist/.next/static/chunks/1255-5cd2fe06309409a0.js +1 -0
  197. package/dist/.next/static/chunks/2619-3c9e02e22d10480a.js +1 -0
  198. package/dist/.next/static/chunks/3192-7e153722ff079fc6.js +1 -0
  199. package/dist/.next/static/chunks/5623-53fb7cea5de0afef.js +1 -0
  200. package/dist/.next/static/chunks/7897-52f8a153c1970ef0.js +1 -0
  201. package/dist/.next/static/chunks/8050-6c17ccfd85ac3208.js +1 -0
  202. package/dist/.next/static/chunks/app/ahead/page-f5789a03967af6e1.js +1 -0
  203. package/dist/.next/static/chunks/app/connections/page-5b833f9485623b92.js +1 -0
  204. package/dist/.next/static/chunks/app/discoveries/{page-52696e6ee0c8d3d5.js → page-337bb60e4cbdcebb.js} +1 -1
  205. package/dist/.next/static/chunks/app/{error-37987420de14c10c.js → error-b32d8c6d4bfa070e.js} +1 -1
  206. package/dist/.next/static/chunks/app/{layout-d14e087b541b48b1.js → layout-0f3f0098b5d1e6be.js} +1 -1
  207. package/dist/.next/static/chunks/app/log/page-1711fe02581c58e8.js +1 -0
  208. package/dist/.next/static/chunks/app/projects/page-b05c7b0c3284db79.js +1 -0
  209. package/dist/.next/static/chunks/app/radar/page-2c972e78ae153706.js +1 -0
  210. package/dist/.next/static/chunks/app/report/page-6bd98ca320f3730c.js +1 -0
  211. package/dist/.next/static/chunks/app/settings/{page-a38c457b7c57567b.js → page-d50e8193d000c9be.js} +1 -1
  212. package/dist/.next/static/chunks/app/sites/page-80cc0a08ae2339a8.js +1 -0
  213. package/dist/.next/static/chunks/app/welcome/{page-d26225bed7e1ad39.js → page-f2cd15c4b50942bc.js} +1 -1
  214. package/dist/.next/static/chunks/main-8e42304858de4a63.js +1 -0
  215. package/dist/.next/static/css/5ddef273a3ac3217.css +1 -0
  216. package/dist/.next/static/css/fbb4cf81dde34731.css +1 -0
  217. package/dist/build-id.json +228 -228
  218. package/dist/node_modules/@next/env/package.json +1 -1
  219. package/dist/node_modules/next/dist/build/swc/index.js +1 -1
  220. package/dist/node_modules/next/dist/build/webpack-config.js +2 -2
  221. package/dist/node_modules/next/dist/compiled/hash.js/sha256/256.js +1 -0
  222. package/dist/node_modules/next/dist/compiled/hash.js/sha256/package.json +1 -0
  223. package/dist/node_modules/next/dist/compiled/next-server/app-page-experimental.runtime.prod.js +13 -13
  224. package/dist/node_modules/next/dist/compiled/next-server/app-page-turbo-experimental.runtime.prod.js +13 -13
  225. package/dist/node_modules/next/dist/compiled/next-server/app-page-turbo.runtime.prod.js +10 -10
  226. package/dist/node_modules/next/dist/compiled/next-server/app-page.runtime.prod.js +11 -11
  227. package/dist/node_modules/next/dist/compiled/next-server/app-route.runtime.prod.js +2 -2
  228. package/dist/node_modules/next/dist/compiled/next-server/pages-turbo.runtime.prod.js +9 -9
  229. package/dist/node_modules/next/dist/compiled/next-server/pages.runtime.prod.js +8 -8
  230. package/dist/node_modules/next/dist/lib/has-necessary-dependencies.js +2 -0
  231. package/dist/node_modules/next/dist/lib/verify-typescript-setup.js +19 -0
  232. package/dist/node_modules/next/dist/server/base-server.js +2 -5
  233. package/dist/node_modules/next/dist/server/dev/hot-reloader-turbopack.js +1 -1
  234. package/dist/node_modules/next/dist/server/dev/hot-reloader-webpack.js +1 -1
  235. package/dist/node_modules/next/dist/server/image-optimizer.js +65 -2
  236. package/dist/node_modules/next/dist/server/lib/app-info-log.js +1 -1
  237. package/dist/node_modules/next/dist/server/lib/incremental-cache/file-system-cache.js +197 -23
  238. package/dist/node_modules/next/dist/server/lib/incremental-cache/index.js +36 -17
  239. package/dist/node_modules/next/dist/server/lib/incremental-cache/memory-cache.external.js +3 -3
  240. package/dist/node_modules/next/dist/server/lib/incremental-cache/shared-cache-controls.external.js +14 -6
  241. package/dist/node_modules/next/dist/server/lib/match-next-data-pathname.js +3 -1
  242. package/dist/node_modules/next/dist/server/lib/node-fs-methods.js +14 -0
  243. package/dist/node_modules/next/dist/server/lib/route-cache-key.js +77 -0
  244. package/dist/node_modules/next/dist/server/lib/start-server.js +1 -1
  245. package/dist/node_modules/next/dist/server/next-server.js +8 -6
  246. package/dist/node_modules/next/dist/server/response-cache/index.js +31 -15
  247. package/dist/node_modules/next/dist/server/route-matcher-providers/app-page-route-matcher-provider.js +2 -2
  248. package/dist/node_modules/next/dist/server/route-modules/pages/pages-handler.js +6 -1
  249. package/dist/node_modules/next/dist/server/route-modules/route-module.js +9 -2
  250. package/dist/node_modules/next/dist/shared/lib/canary-only.js +1 -1
  251. package/dist/node_modules/next/dist/shared/lib/router/utils/app-paths.js +17 -1
  252. package/dist/node_modules/next/dist/shared/lib/router/utils/escape-path-delimiters.js +1 -1
  253. package/dist/node_modules/next/dist/telemetry/anonymous-meta.js +1 -1
  254. package/dist/node_modules/next/dist/telemetry/events/version.js +2 -2
  255. package/dist/node_modules/next/package.json +11 -11
  256. package/dist/node_modules/source-map-js/lib/quick-sort.js +10 -1
  257. package/dist/node_modules/source-map-js/lib/source-map-consumer.js +51 -3
  258. package/dist/node_modules/source-map-js/lib/source-map-generator.js +6 -4
  259. package/dist/node_modules/source-map-js/lib/source-node.js +7 -0
  260. package/dist/node_modules/source-map-js/package.json +1 -1
  261. package/dist/package.json +3 -3
  262. package/dist/shell/bin/af360-bridge.exe +0 -0
  263. package/docs/legal/PRIVACY.md +1 -1
  264. package/lib/mask.mjs +21 -1
  265. package/package.json +3 -3
  266. package/scripts/mcp-server.mjs +19 -9
  267. package/shell/bin/af360-bridge.exe +0 -0
  268. package/dist/.next/server/chunks/1331.js +0 -22
  269. package/dist/.next/server/chunks/6584.js +0 -1
  270. package/dist/.next/server/chunks/8134.js +0 -11
  271. package/dist/.next/server/chunks/9946.js +0 -1
  272. package/dist/.next/static/chunks/1255-612df69cb02f2021.js +0 -1
  273. package/dist/.next/static/chunks/1681-b233404f9ec2fc2e.js +0 -1
  274. package/dist/.next/static/chunks/2036-e29441d605c493a4.js +0 -1
  275. package/dist/.next/static/chunks/3192-6b341d547a49fa85.js +0 -1
  276. package/dist/.next/static/chunks/5623-ec4f1a6f7695d8d1.js +0 -1
  277. package/dist/.next/static/chunks/7897-6e6c509aea495560.js +0 -1
  278. package/dist/.next/static/chunks/app/ahead/page-e72bed448dd40bd5.js +0 -1
  279. package/dist/.next/static/chunks/app/connections/page-5d6cae02e6f2b49a.js +0 -1
  280. package/dist/.next/static/chunks/app/log/page-45b4cfd8f1a29d09.js +0 -1
  281. package/dist/.next/static/chunks/app/projects/page-75a41d4a90675d93.js +0 -1
  282. package/dist/.next/static/chunks/app/radar/page-4b4aad549dffcd3a.js +0 -1
  283. package/dist/.next/static/chunks/app/report/page-145496e8f0d5bc86.js +0 -1
  284. package/dist/.next/static/chunks/app/sites/page-96a7dcf3c1e9aa19.js +0 -1
  285. package/dist/.next/static/chunks/main-6828c74376f2b965.js +0 -1
  286. package/dist/.next/static/css/94d302c686de7e23.css +0 -1
  287. package/dist/.next/static/css/9b639a814d15c5ff.css +0 -1
  288. /package/dist/.next/static/{0b943e6aa8d5ffe860588 → be31a391928486d5659f1}/_buildManifest.js +0 -0
  289. /package/dist/.next/static/{0b943e6aa8d5ffe860588 → be31a391928486d5659f1}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8039],{63:(r,e,t)=>{"use strict";var o=t(7260);t.o(o,"usePathname")&&t.d(e,{usePathname:function(){return o.usePathname}}),t.o(o,"useRouter")&&t.d(e,{useRouter:function(){return o.useRouter}})},2979:(r,e,t)=>{Promise.resolve().then(t.bind(t,9567))},9567:(r,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>c});var o=t(5155),n=t(63),i=t(7064),a=t(639),s=t(436),u=t(1551);function c(r){let{reset:e}=r,t=(0,a.x)(),c=(0,n.usePathname)()||"/radar",l=t.attention&&Array.isArray(t.attention.items)?t.attention:null,m=(r,e)=>{var o;return(0,u.tr)((0,u.$c)(null==(o=t.cfg)?void 0:o.lang),r,e)};return(0,o.jsx)(i.Ay,{active:c,cockpit:{...t,attention:l},children:(0,o.jsxs)("div",{className:"empty",children:[(0,o.jsx)("p",{className:"invite",children:m("roomError.invite",s.UI.roomError.invite)}),(0,o.jsx)("p",{children:m("roomError.line",s.UI.roomError.line)}),(0,o.jsx)("p",{className:"meta",children:m("roomError.fixLead",s.UI.roomError.fixLead)}),(0,o.jsx)("p",{children:m("roomError.fixRetry",s.UI.roomError.fixRetry)}),(0,o.jsx)("button",{className:"btn primary",onClick:e,children:m("btn.retry",s.UI.roomError.retry)})]})})}}},r=>{r.O(0,[3192,1681,8441,1255,7358],()=>r(r.s=2979)),_N_E=r.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8039],{63:(r,e,t)=>{"use strict";var o=t(7260);t.o(o,"usePathname")&&t.d(e,{usePathname:function(){return o.usePathname}}),t.o(o,"useRouter")&&t.d(e,{useRouter:function(){return o.useRouter}})},2979:(r,e,t)=>{Promise.resolve().then(t.bind(t,9567))},9567:(r,e,t)=>{"use strict";t.r(e),t.d(e,{default:()=>c});var o=t(5155),n=t(63),i=t(7406),a=t(639),s=t(436),u=t(1551);function c(r){let{reset:e}=r,t=(0,a.x)(),c=(0,n.usePathname)()||"/radar",l=t.attention&&Array.isArray(t.attention.items)?t.attention:null,m=(r,e)=>{var o;return(0,u.tr)((0,u.$c)(null==(o=t.cfg)?void 0:o.lang),r,e)};return(0,o.jsx)(i.Ay,{active:c,cockpit:{...t,attention:l},children:(0,o.jsxs)("div",{className:"empty",children:[(0,o.jsx)("p",{className:"invite",children:m("roomError.invite",s.UI.roomError.invite)}),(0,o.jsx)("p",{children:m("roomError.line",s.UI.roomError.line)}),(0,o.jsx)("p",{className:"meta",children:m("roomError.fixLead",s.UI.roomError.fixLead)}),(0,o.jsx)("p",{children:m("roomError.fixRetry",s.UI.roomError.fixRetry)}),(0,o.jsx)("button",{className:"btn primary",onClick:e,children:m("btn.retry",s.UI.roomError.retry)})]})})}}},r=>{r.O(0,[2619,3192,8050,8441,1255,7358],()=>r(r.s=2979)),_N_E=r.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{974:e=>{e.exports={style:{fontFamily:"'Noto Sans Arabic', 'Noto Sans Arabic Fallback'",fontStyle:"normal"},className:"__className_c5564f",variable:"__variable_c5564f"}},1219:e=>{e.exports={style:{fontFamily:"'Inter', 'Inter Fallback'",fontStyle:"normal"},className:"__className_f367f3",variable:"__variable_f367f3"}},1290:()=>{},2744:e=>{e.exports={style:{fontFamily:"'Bricolage Grotesque', 'Bricolage Grotesque Fallback'",fontStyle:"normal"},className:"__className_01ae00",variable:"__variable_01ae00"}},6181:(e,a,l)=>{Promise.resolve().then(l.t.bind(l,1290,23)),Promise.resolve().then(l.t.bind(l,2744,23)),Promise.resolve().then(l.t.bind(l,1219,23)),Promise.resolve().then(l.t.bind(l,8036,23)),Promise.resolve().then(l.t.bind(l,974,23))},8036:e=>{e.exports={style:{fontFamily:"'IBM Plex Mono', 'IBM Plex Mono Fallback'",fontStyle:"normal"},className:"__className_46fe82",variable:"__variable_46fe82"}}},e=>{e.O(0,[1741,8716,8441,1255,7358],()=>e(e.s=6181)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{974:e=>{e.exports={style:{fontFamily:"'Noto Sans Arabic', 'Noto Sans Arabic Fallback'",fontStyle:"normal"},className:"__className_a3d91f",variable:"__variable_a3d91f"}},1219:e=>{e.exports={style:{fontFamily:"'Inter', 'Inter Fallback'",fontStyle:"normal"},className:"__className_d8ebd1",variable:"__variable_d8ebd1"}},1290:()=>{},2744:e=>{e.exports={style:{fontFamily:"'Bricolage Grotesque', 'Bricolage Grotesque Fallback'",fontStyle:"normal"},className:"__className_bd2806",variable:"__variable_bd2806"}},6181:(e,a,l)=>{Promise.resolve().then(l.t.bind(l,1290,23)),Promise.resolve().then(l.t.bind(l,2744,23)),Promise.resolve().then(l.t.bind(l,1219,23)),Promise.resolve().then(l.t.bind(l,8036,23)),Promise.resolve().then(l.t.bind(l,974,23))},8036:e=>{e.exports={style:{fontFamily:"'IBM Plex Mono', 'IBM Plex Mono Fallback'",fontStyle:"normal"},className:"__className_9f0762",variable:"__variable_9f0762"}}},e=>{e.O(0,[1741,8716,8441,1255,7358],()=>e(e.s=6181)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2655],{694:(e,l,s)=>{Promise.resolve().then(s.bind(s,7843))},7843:(e,l,s)=>{"use strict";s.r(l),s.d(l,{default:()=>p});var n=s(5155),t=s(2115),o=s(7406),a=s(639),r=s(7470),i=s(436),c=s(5310),d=s(3034),g=s(5834),h=s(1551);function p(){var e;let l=(0,a.x)(),[s,p]=(0,t.useState)("all"),x=(0,h.$c)(null==(e=l.cfg)?void 0:e.lang),m=(e,l)=>(0,h.tr)(x,e,l),j=l.events,u=Date.now(),f=(0,r.l)(u),N=(0,r.l)(u-864e5),k=null!=j?j:[],v=function(e,l){let s=[];for(let l of e){let e=(0,r.l)(l.ts),n=s[s.length-1];n&&n.key===e?n.events.push(l):s.push({key:e,events:[l]})}return s}("all"===s?k:k.filter(e=>e.kind===s),0),y=[["all","log.filterAll",i.UI.log.filterAll],["mcp","log.filterAgents",i.UI.log.filterAgents],["connection","log.filterConnections",i.UI.log.filterConnections],["closed","log.filterClosed",i.UI.log.filterClosed]];return(0,n.jsxs)(o.Ay,{active:"/log",cockpit:l,children:[(0,n.jsxs)("div",{className:"pagebar",children:[(0,n.jsx)("h1",{children:(0,n.jsx)(c.T,{k:"room.log",en:i.UI.log.title})}),(0,n.jsx)("span",{className:"purpose",children:(0,n.jsx)(c.T,{k:"log.purpose",en:i.UI.log.purpose})})]}),null===j?(0,n.jsxs)("div",{className:"sweep-wrap",children:[(0,n.jsx)("div",{className:"sweep","aria-hidden":!0}),(0,n.jsx)("span",{children:(0,n.jsx)(g.hI,{children:m("log.purpose",i.UI.log.purpose)})})]}):0===k.length?(0,n.jsx)("div",{className:"empty",children:(0,n.jsx)("p",{children:m("log.empty",i.UI.log.empty)})}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"logbar",children:[(0,n.jsx)("div",{className:"logchips",role:"group","aria-label":m("log.filterAll",i.UI.log.filterAll),children:y.map(e=>{let[l,t,o]=e;return(0,n.jsxs)("button",{type:"button",className:"logchip".concat(s===l?" on":""),"aria-pressed":s===l,onClick:()=>p(l),children:[(0,n.jsx)(c.T,{k:t,en:o}),(0,n.jsx)("span",{className:"cnt",children:(0,n.jsx)(d.V,{n:"all"===l?k.length:k.filter(e=>e.kind===l).length})})]},l)})}),(0,n.jsx)("p",{className:"logremainder",children:m("log.untaggedNote",i.UI.log.untaggedNote)})]}),v.map(e=>(0,n.jsxs)("section",{className:"logday",children:[(0,n.jsxs)("h2",{className:"logday-h",children:[(e=>{if(e===f)return(0,n.jsx)(c.T,{k:"log.dayToday",en:i.UI.log.dayToday});if(e===N)return(0,n.jsx)(c.T,{k:"log.dayYesterday",en:i.UI.log.dayYesterday});let[l,s,t]=e.split("-").map(Number);return(0,n.jsx)(d.En,{children:new Date(l,(s||1)-1,t||1).toLocaleDateString("en-US",{weekday:"long"})})})(e.key),(0,n.jsx)("span",{className:"cnt",children:(0,n.jsx)(d.V,{n:e.events.length})})]}),(0,n.jsx)("div",{className:"loglist",children:e.events.map(e=>{var l;return(0,n.jsxs)("div",{className:"logrow",children:[(0,n.jsx)("span",{className:"logtime",children:(0,n.jsx)(d.En,{children:new Date(e.ts).toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit"})})}),e.kind?(0,n.jsx)("span",{className:"logkind k-".concat(e.kind),children:"mcp"===(l=e.kind)?m("log.filterAgents",i.UI.log.filterAgents):"closed"===l?m("log.filterClosed",i.UI.log.filterClosed):m("log.filterConnections",i.UI.log.filterConnections)}):null,(0,n.jsx)("span",{className:"logtext",children:(0,n.jsx)(d.En,{children:e.text})})]},"".concat(e.ts," ").concat(e.text))})})]},e.key)),(0,n.jsx)("p",{className:"logfloor",children:m("log.floor",i.UI.log.floor)})]})]})}}},e=>{e.O(0,[2619,3192,8050,8441,1255,7358],()=>e(e.s=694)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[893],{5657:(e,s,n)=>{"use strict";n.r(s),n.d(s,{default:()=>u});var r=n(5155),c=n(2115),a=n(7406),l=n(639),t=n(7897),o=n(5163),i=n(436),d=n(5310),p=n(3034),j=n(2696),h=n(5834),m=n(1551),x=n(4097);function u(){var e,s,n,u,g,v;let N=(0,l.x)(),[y,I]=(0,c.useState)(null),[k,f]=(0,c.useState)(!1),{projects:b,radar:w,changes:U,attention:T}=N,{requestIgnore:C,showToast:_,overlays:E}=(0,t.Wj)(N),R=null!=(u=N.views.projects)?u:"cards",A=(0,c.useRef)(null),V=(0,m.$c)(null==(e=N.cfg)?void 0:e.lang),P=(e,s)=>(0,m.tr)(V,e,s),q="ar"===V,F=e=>(0,o.YV)(T,e),L=e=>"red"===e?2:+("amber"===e),M=[...b].sort((e,s)=>{let n=Number(N.isPinned((0,t.yn)(s)))-Number(N.isPinned((0,t.yn)(e)));return 0!==n?n:L(F((0,t.yn)(s)))-L(F((0,t.yn)(e)))}),O=M.some(e=>null===F((0,t.yn)(e))),S=M.filter(e=>{let s=F((0,t.yn)(e));return null!==s&&"clean"!==s}).length,B=e=>I(s=>s===e?null:e);return(0,r.jsxs)(a.Ay,{active:"/projects",cockpit:N,children:[(0,r.jsxs)("div",{className:"pagebar",children:[(0,r.jsx)("h1",{children:(0,r.jsx)(d.T,{k:"room.projects",en:i.UI.projects.title})}),(0,r.jsx)("span",{className:"purpose",children:(0,r.jsx)(d.T,{k:"projects.purpose",en:i.UI.projects.purpose})})]}),(0,r.jsx)("div",{className:"radar-verdict",children:(0,r.jsx)(j.HE,{cockpit:N})}),w?0===b.length?(0,r.jsxs)("div",{className:"empty",children:[(0,r.jsx)("p",{className:"invite",children:P("projects.emptyInvite",i.UI.projects.emptyInvite)}),(0,r.jsx)("p",{children:P("projects.emptyLine",i.UI.projects.emptyLine)}),(0,r.jsx)(x.A,{watched:null!=(g=null==(s=N.cfg)?void 0:s.roots)?g:[],onChanged:()=>N.refresh(!0)}),(0,r.jsx)("a",{className:"btn primary",href:"/radar",children:P("btn.goRadar",i.UI.projects.goRadar)})]}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"sec",children:[(0,r.jsx)("h2",{children:(0,r.jsx)(d.T,{k:"sec.projects",en:i.UI.radar.projects})}),(0,r.jsxs)("span",{className:"meta",children:[(0,r.jsx)(p.V,{n:b.length})," \xb7"," ",O?(0,r.jsx)(h.hI,{children:P("common.checking",i.UI.common.checking)}):S>0?q?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(p.V,{n:S})," ",P("projects.needingTail","")]}):i.UI.projects.needing(S):P("projects.allClean",i.UI.projects.allClean)]}),(0,r.jsxs)("div",{className:"tools",children:[(0,r.jsx)("button",{className:"b",onClick:()=>f(!k),children:k?(0,r.jsx)(d.T,{k:"btn.close",en:i.UI.common.close}):(0,r.jsx)(d.T,{k:"btn.watchMore",en:i.UI.radar.watchMore})}),(0,r.jsx)(t.aA,{view:R,onChange:e=>N.setView("projects",e)})]})]}),k&&(0,r.jsx)("div",{className:"card plain",style:{marginBlockEnd:10},children:(0,r.jsx)(x.A,{watched:null!=(v=null==(n=N.cfg)?void 0:n.roots)?v:[],onChanged:()=>N.refresh(!0)})}),"cards"===R?(0,r.jsx)("div",{className:"grid",ref:A,children:M.map(e=>(0,r.jsx)(t.Uj,{p:e,tone:F((0,t.yn)(e)),cockpit:N,change:U[(0,t.yn)(e)],open:y===e.path,onToggle:()=>B(e.path),onIgnoreRequest:C,onToast:_},e.path))}):(0,r.jsx)("div",{className:"irows",ref:A,children:M.map(e=>(0,r.jsx)(t.ou,{p:e,tone:F((0,t.yn)(e)),cockpit:N,change:U[(0,t.yn)(e)],open:y===e.path,onToggle:()=>B(e.path),onIgnoreRequest:C},e.path))})]}):(0,r.jsxs)("div",{className:"sweep-wrap",children:[(0,r.jsx)("div",{className:"sweep","aria-hidden":!0}),(0,r.jsx)("span",{children:(0,r.jsx)(h.hI,{children:P("common.scanning",i.UI.common.scanning)})})]}),E]})}},6068:(e,s,n)=>{Promise.resolve().then(n.bind(n,5657))}},e=>{e.O(0,[2619,3192,8050,7897,4097,8441,1255,7358],()=>e(e.s=6068)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2305],{8106:(e,a,s)=>{"use strict";s.d(a,{T:()=>i});var n=s(5155),r=s(2115),t=s(436),l=s(5310);function i(e){let{cockpit:a,onAdded:s}=e,[i,d]=(0,r.useState)(""),[c,o]=(0,r.useState)(""),[h,m]=(0,r.useState)(!1),[j,x]=(0,r.useState)(null),p=(0,l.kj)(),g=async e=>{var n;if(e.preventDefault(),!i.trim())return;m(!0),x(null);let r=await a.post({action:"addUrl",url:i.trim(),label:c.trim()||void 0});m(!1),r.ok?(d(""),o(""),x({ok:!0,text:p("site.added",t.UI.radar.siteAdded)}),a.readHealth(),null==s||s()):x({ok:!1,text:null!=(n=r.message)?n:p("common.somethingWrong",t.UI.common.somethingWrong)})};return(0,n.jsxs)("form",{className:"setup",onSubmit:g,children:[(0,n.jsxs)("div",{className:"addrow",children:[(0,n.jsx)("input",{className:"in",type:"text",inputMode:"url",dir:"ltr",value:i,"aria-label":p("site.addrAria",t.UI.radar.siteAddrAria),placeholder:t.UI.radar.sitePlaceholder,onChange:e=>d(e.target.value)}),(0,n.jsx)("input",{className:"in",type:"text",value:c,"aria-label":p("site.nameAria",t.UI.radar.siteNameAria),placeholder:p("site.namePlaceholder",t.UI.radar.siteNamePlaceholder),onChange:e=>o(e.target.value)}),(0,n.jsx)("button",{className:"btn primary",type:"submit",disabled:h||!i.trim(),children:h?p("site.adding",t.UI.radar.siteAdding):p("site.add",t.UI.radar.siteAdd)})]}),j&&(0,n.jsx)("p",{className:j.ok?"ok-line":"error-line",children:j.text})]})}},8216:(e,a,s)=>{Promise.resolve().then(s.bind(s,9151))},9151:(e,a,s)=>{"use strict";s.r(a),s.d(a,{default:()=>S});var n=s(5155),r=s(2115),t=s(7406),l=s(4097),i=s(5623),d=s(639),c=s(7897),o=s(7470),h=s(5163),m=s(2696),j=s(23),x=s(2613),p=s(436),g=s(5310),u=s(8706),k=s(3034),N=s(8106),v=s(6400),I=s(5834),f=s(9178);let U={look:74,change:22,closed:22,mcp:56,connection:56},y=new Set(["change","closed"]);function b(e){let{events:a,coverage:s,readAt:r,ar:t,empty:l}=e;if(null===a||null===r)return null;let i=r-864e5,d=a.filter(e=>e.ts>=i&&e.ts<=r&&void 0!==e.kind).sort((e,a)=>e.ts-a.ts),c=0===d.length?i:Math.min(d[0].ts,r-36e5),o=r-Math.min(864e5,Math.max(36e5,36e5*Math.ceil((r-Math.max(i,c))/36e5))),h=a.filter(e=>e.ts>=o&&e.ts<=r&&void 0!==e.kind).sort((e,a)=>e.ts-a.ts),m=r-o,j=m>=864e5,x=h.filter(e=>"look"===e.kind).length,u=a.some(e=>e.ts>=o&&e.ts<=r&&void 0===e.kind),k=(null==s?void 0:s.oldestTs)!=null&&s.oldestTs>o,N=e=>(e-o)/m*1e3,v=k?N(s.oldestTs):0,I=[],b=(e,a)=>{let s=I[I.length-1],n=s?Math.max(e,s[0]):e;s&&n===s[0]&&a===s[1]||I.push([n,a])};for(let e of(b(v,88),h)){let a=N(e.ts);b(a-4,88),b(a,U[e.kind]),b(a+4,88)}return(b(1e3,88),0===h.length&&l)?(0,n.jsx)("div",{className:"tape",children:(0,n.jsx)("div",{className:"tape-paper tape-invite",children:(0,n.jsx)("p",{children:(0,n.jsx)(g.T,{k:"radar.tapeInvite",en:p.UI.radar.tapeInvite})})})}):(0,n.jsxs)("div",{className:"tape",children:[(0,n.jsxs)("div",{className:"tape-paper",children:[(0,n.jsxs)("svg",{viewBox:"0 0 1000 100",preserveAspectRatio:"none","aria-hidden":"true",children:[(0,n.jsx)("line",{className:"tape-base",x1:"0",y1:"88",x2:"1000",y2:"88",vectorEffect:"non-scaling-stroke"}),(0,n.jsx)("polyline",{className:"tape-trace",points:I.map(e=>{let[a,s]=e;return"".concat(a,",").concat(s)}).join(" "),vectorEffect:"non-scaling-stroke"}),h.map((e,a)=>(0,n.jsx)("line",{className:"tape-mark tape-".concat(y.has(e.kind)?"moved":"look"===e.kind?"look":"door"),"data-kind":e.kind,x1:N(e.ts),x2:N(e.ts),y1:88,y2:U[e.kind],vectorEffect:"non-scaling-stroke"},"".concat(e.ts,"-").concat(a)))]}),(0,n.jsx)("span",{className:"tape-now","aria-hidden":"true"})]}),(0,n.jsxs)("div",{className:"tape-foot",children:[(0,n.jsx)("span",{className:"meta",children:j?(0,n.jsx)(g.T,{k:"radar.tapeWindow",en:p.UI.radar.tapeWindow}):(0,n.jsx)(g.T,{k:"radar.tapeSpan",en:p.UI.radar.tapeSpan((0,f.p0)(m))})}),(0,n.jsxs)("span",{className:"tape-key",children:[(0,n.jsx)("i",{className:"k-look","aria-hidden":"true"}),(0,n.jsx)(g.T,{k:"radar.tapeKeyLook",en:p.UI.radar.tapeKeyLook})]}),(0,n.jsxs)("span",{className:"tape-key",children:[(0,n.jsx)("i",{className:"k-door","aria-hidden":"true"}),(0,n.jsx)(g.T,{k:"radar.tapeKeyDoor",en:p.UI.radar.tapeKeyDoor})]}),(0,n.jsxs)("span",{className:"tape-key",children:[(0,n.jsx)("i",{className:"k-change","aria-hidden":"true"}),(0,n.jsx)(g.T,{k:"radar.tapeKeyChange",en:p.UI.radar.tapeKeyChange})]}),(0,n.jsxs)("a",{className:"tape-goto",href:"/log",children:[(0,n.jsx)(g.T,{k:"radar.tapeGoto",en:p.UI.radar.tapeGoto})," ",t?"←":"→"]})]}),0===h.length&&(0,n.jsx)("div",{className:"tape-partial",children:(0,n.jsx)(g.T,{k:"radar.tapeNoMarks",en:p.UI.radar.tapeNoMarks})}),u&&(0,n.jsx)("div",{className:"tape-partial",children:(0,n.jsx)(g.T,{k:"radar.tapeUntyped",en:p.UI.radar.tapeUntyped})}),k&&(0,n.jsx)("div",{className:"tape-partial",children:(0,n.jsx)(g.T,{k:"radar.tapeShort",en:p.UI.radar.tapeShort})}),!u&&!k&&x>0&&!h.some(e=>y.has(e.kind))&&(0,n.jsx)("div",{className:"tape-quiet",children:(0,n.jsx)(g.T,{k:"radar.tapeQuiet",en:p.UI.radar.tapeQuiet(x)})})]})}var w=s(1551),T=s(797);function S(){var e,a,s,o,N,f,U,y,S;let D=(0,d.x)(),[E,L]=(0,r.useState)(null),[R,V]=(0,r.useState)(null),[B,H]=(0,r.useState)(!1),{radar:q,incidents:G,insights:O,insightsLookAt:W,insightsLooking:Y,insightsMuted:K,insightsPending:_,demo:Q,projects:J,urls:Z,views:z,collapsed:$,changes:X,attention:ee,events:ea,logCoverage:es}=D,{requestIgnore:en,showToast:er,overlays:et}=(0,c.Wj)(D),el=(0,w.$c)(null==(e=D.cfg)?void 0:e.lang),ei=(e,a)=>(0,w.tr)(el,e,a),ed="ar"===el,ec=(0,g.qN)(el);(0,r.useEffect)(()=>{let e=Object.keys(X);if(0===e.length)return;let a=setTimeout(()=>D.markSeen(e),12e3);return()=>clearTimeout(a)},[Object.keys(X).join("|")]);let eo=e=>L(a=>a===e?null:e),eh=(0,v.yr)(O),em=e=>(0,h.YV)(ee,e),ej=null!=(o=z.projects)?o:"cards",ex=null!=(N=z.urls)?N:"cards",ep=e=>"red"===e?2:+("amber"===e),eg=[...J].sort((e,a)=>{let s=Number(D.isPinned((0,c.yn)(a)))-Number(D.isPinned((0,c.yn)(e)));return 0!==s?s:ep(em((0,c.yn)(a)))-ep(em((0,c.yn)(e)))}),eu=[...Z].sort((e,a)=>ep(em(a.entry.id))-ep(em(e.entry.id))),ek=e=>{var a;return null!=(a=$[e])?a:"ignored"===e||"drawer"===e},eN=(0,r.useRef)(null),ev=(0,r.useRef)(null),eI=(0,c.j4)(eN,eg.length,260,[ej,ek("projects"),null!=(f=null==ee?void 0:ee.items.length)?f:0,B,Q]),ef=(0,c.j4)(ev,eu.length,40,[ex,ek("sites"),eI,null!=(U=null==ee?void 0:ee.items.length)?U:0,B,Q]),eU=eg.slice(0,eI),ey=eg.slice(eI),eb=eu.slice(0,ef),ew=eu.slice(ef),eT=ee?(0,h.Pl)(ee):null,eS=Y&&null!==W,eP=!!ee&&(0,h.yy)(ee)&&!!q,eC=!ee||(0,h.yy)(ee)?"idle":"INCIDENT"===ee.state?"bad":"NEEDS_YOU"===ee.state||"SAFETY"===ee.state?"":"ok",eF=!ee||(0,h.yy)(ee)?"acc-none":"INCIDENT"===ee.state?"acc-bad":"NEEDS_YOU"===ee.state?"acc-warn":"SAFETY"===ee.state?"acc-safety":"acc-ok";return(0,n.jsxs)(t.Ay,{active:"/radar",cockpit:D,children:[(0,n.jsx)("div",{className:"radar-head ".concat(eC),children:(0,n.jsx)("div",{className:"rh-left",children:(0,n.jsx)("div",{className:"greet",children:function(e){let a=new Date().getHours();return a<5?e("greet.evening","Good evening"):a<12?e("greet.morning","Good morning"):a<17?e("greet.afternoon","Good afternoon"):e("greet.evening","Good evening")}(ei)})})}),D.launchGap&&(!q||q.held)&&(0,n.jsx)("p",{className:"meta launch-gap",children:(0,n.jsx)(g.P,{p:(0,u.ph)("radar.launchGap",p.UI.radar.launchGap,new Date(D.launchGap.from).toLocaleDateString(void 0,{dateStyle:"medium"}))})}),!eP&&(0,n.jsxs)("div",{className:"glance-wrap",children:[eS&&(0,n.jsx)("div",{className:"glance-held",children:(0,n.jsx)("span",{className:"meta",children:(0,n.jsx)(g.T,{k:"radar.heldLook",en:p.UI.radar.heldLook})})}),(0,n.jsxs)("div",{className:"glance ".concat(eF).concat(eS?" held":""),children:[(0,n.jsx)(m.HE,{cockpit:D}),null===O?(0,n.jsxs)("a",{className:"meter meter-go",href:"/discoveries",children:[(0,n.jsx)("span",{className:"meter-label",children:(0,n.jsx)(g.T,{k:"radar.meterDisc",en:p.UI.radar.meterDisc})}),(0,n.jsx)("span",{className:"meter-read",children:(0,n.jsx)(I.uF,{children:ei("common.loading",p.UI.common.loading)})})]}):(0,n.jsxs)("a",{className:"meter meter-go",href:"/discoveries",children:[(0,n.jsx)("span",{className:"meter-label",children:(0,n.jsx)(g.T,{k:"radar.meterDisc",en:p.UI.radar.meterDisc})}),(0,n.jsx)("span",{className:"meter-read",children:(0,n.jsx)(k.V,{n:eh.length})}),(0,n.jsx)("span",{className:"meter-under",children:ei("radar.meterDiscUnit",p.UI.radar.meterDiscUnit(eh.length))})]}),ee&&ee.items.length>0?(0,n.jsxs)("button",{type:"button",className:"radar-verdict meter meter-jump ".concat(eC),onClick:()=>(0,m.I4)(ee.items.map(e=>e.id)),children:[(0,n.jsx)("span",{className:"meter-label",children:(0,n.jsx)(g.T,{k:"radar.meterState",en:p.UI.radar.meterState})}),(0,n.jsx)("div",{className:"state",children:eT?(0,n.jsx)(g.P,{p:eT.lineP}):(0,n.jsx)(I.uF,{children:ei("common.loading",p.UI.common.loading)})}),eT&&(0,n.jsx)("div",{className:"reason",children:(0,n.jsx)(g.P,{p:eT.underP})})]}):(0,n.jsxs)("div",{className:"radar-verdict meter ".concat(eC),children:[(0,n.jsx)("span",{className:"meter-label",children:(0,n.jsx)(g.T,{k:"radar.meterState",en:p.UI.radar.meterState})}),(0,n.jsx)("div",{className:"state",children:eT?(0,n.jsx)(g.P,{p:eT.lineP}):(0,n.jsx)(I.uF,{children:ei("common.loading",p.UI.common.loading)})}),eT&&(0,n.jsx)("div",{className:"reason",children:(0,n.jsx)(g.P,{p:eT.underP})})]})]})]}),!Q&&(0,n.jsx)(b,{events:ea,coverage:es,readAt:D.logReadAt,ar:ed,empty:eP}),!eP&&!Q&&(0,n.jsxs)("div",{className:"glance-acts",children:[(0,n.jsx)(m.KF,{onToast:er}),(0,n.jsx)("span",{className:"meta",children:(0,n.jsx)(g.T,{k:"radar.handoffHint",en:p.UI.radar.handoffHint})})]}),!eP&&!Q&&(null==ee?void 0:ee.state)==="QUIET"&&C(D)&&(0,n.jsx)(F,{}),(0,n.jsxs)("div",{className:"pagebar",style:{marginBlockStart:4},children:[(0,n.jsx)("h1",{children:(0,n.jsx)(g.T,{k:"room.radar",en:p.UI.radar.title})}),(0,n.jsx)("span",{className:"purpose",children:(0,n.jsx)(g.T,{k:"radar.purpose",en:p.UI.radar.purpose})})]}),Q&&(0,n.jsxs)("p",{className:"banner",children:[ei("banner.radarLead",p.UI.radar.bannerLead)," ",(0,n.jsx)("strong",{children:ei("banner.radarStrong",p.UI.radar.bannerStrong)})," ",ei("banner.radarRest",p.UI.radar.bannerRest)," ",(0,n.jsx)("button",{className:"link",onClick:()=>H(!0),children:ei("banner.radarLink",p.UI.radar.bannerLink)})," ",ei("banner.radarTail",p.UI.radar.bannerTail)]}),ee&&ee.items.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"sec",children:[(0,n.jsx)("h2",{children:(0,n.jsx)(g.T,{k:"sec.needsYou",en:p.UI.radar.needsYou})}),(0,n.jsxs)("span",{className:"meta",children:[(0,n.jsx)(k.V,{n:ee.items.length})," \xb7 ",(0,n.jsx)(g.T,{k:"radar.needsYouOrdered",en:p.UI.radar.needsYouOrdered}),ee.safety>0&&(0,n.jsxs)(n.Fragment,{children:[" \xb7 ",(0,n.jsxs)("a",{href:"/discoveries",children:[(0,n.jsx)(g.P,{p:(0,u.ph)("radar.needsYouSafety",p.UI.radar.needsYouSafety,String(ee.safety))})," ",ed?"←":"→"]})]})]})]}),(0,j.bI)(ee).map(e=>(0,n.jsx)(M,{it:e,cockpit:D,demo:Q,onIgnoreRequest:en,onFind:e=>V(e)},e.id))]}),(0,n.jsx)(A,{cockpit:D,collapsed:ek("ignored")}),q?0===J.length&&0===Z.length?(0,n.jsx)(P,{cockpit:D}):(0,n.jsxs)(n.Fragment,{children:[J.length>0&&(0,n.jsxs)(n.Fragment,{children:[ee&&ee.items.length>0&&(0,n.jsx)("div",{className:"secline","aria-hidden":!0}),(0,n.jsxs)("div",{className:"sec",children:[(0,n.jsx)("h2",{children:(0,n.jsx)(g.T,{k:"sec.projects",en:p.UI.radar.projects})}),(0,n.jsxs)("span",{className:"meta",children:[(0,n.jsx)(k.V,{n:J.length})," \xb7 ",(0,n.jsx)(g.T,{k:"radar.projectsMeta",en:p.UI.radar.projectsMeta})]}),(0,n.jsxs)("div",{className:"tools",children:[(0,n.jsx)("button",{className:"b",...(0,T.uN)(ec.watch),onClick:()=>H(!B),children:B?(0,n.jsx)(g.T,{k:"btn.close",en:p.UI.common.close}):(0,n.jsx)(g.T,{k:"btn.watchMore",en:p.UI.radar.watchMore})}),(0,n.jsx)(c.aA,{view:ej,onChange:e=>D.setView("projects",e)}),(0,n.jsx)(c.cc,{value:ek("projects"),onChange:e=>D.setCollapsed("projects",e)}),(0,n.jsx)("a",{className:"seeall",href:"/projects",children:ed?(0,n.jsxs)(n.Fragment,{children:[ei("more.seeAllProjects","")," (",(0,n.jsx)(k.V,{n:J.length}),") ","←"]}):p.UI.radar.seeAllProjects(J.length)})]})]}),B&&(0,n.jsx)("div",{className:"card plain",style:{marginBlockEnd:10},children:(0,n.jsx)(l.A,{watched:null!=(y=null==(a=D.cfg)?void 0:a.roots)?y:[],onChanged:()=>D.refresh(!0)})}),!ek("projects")&&(0,n.jsxs)(n.Fragment,{children:["cards"===ej?(0,n.jsx)("div",{className:"grid",ref:eN,children:eU.map(e=>(0,n.jsx)(c.Uj,{p:e,tone:em((0,c.yn)(e)),cockpit:D,change:X[(0,c.yn)(e)],open:E===e.path,onToggle:()=>eo(e.path),onIgnoreRequest:en,onToast:er},e.path))}):(0,n.jsx)("div",{className:"irows",ref:eN,children:eU.map(e=>(0,n.jsx)(c.ou,{p:e,tone:em((0,c.yn)(e)),cockpit:D,change:X[(0,c.yn)(e)],open:E===e.path,onToggle:()=>eo(e.path),onIgnoreRequest:en},e.path))}),ey.length>0&&(0,n.jsx)(n.Fragment,{children:(0,n.jsx)("div",{className:"cleanline",children:ey.every(e=>"clean"===em((0,c.yn)(e)))?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"okw",children:"✓"})," ",ey.every(e=>e.hasRemote||e.looksDownloaded)?ed?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(k.V,{n:ey.length})," ",ei("more.cleanBacked","")]}):p.UI.radar.moreCleanBacked(ey.length):ed?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(k.V,{n:ey.length})," ",ei("more.clean","")]}):p.UI.radar.moreClean(ey.length)]}):ed?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(k.V,{n:ey.length})," ",ei("more.projects","")]}):(0,n.jsx)(n.Fragment,{children:p.UI.radar.moreProjects(ey.length)})})})]})]}),Z.length>0&&(0,n.jsxs)(n.Fragment,{children:[J.length>0&&(0,n.jsx)("div",{className:"secline","aria-hidden":!0}),(0,n.jsxs)("div",{className:"sec",children:[(0,n.jsx)("h2",{children:(0,n.jsx)(g.T,{k:"sec.sites",en:p.UI.radar.sites})}),(0,n.jsxs)("span",{className:"meta",children:[(0,n.jsx)(k.V,{n:Z.length})," \xb7 ",(0,n.jsx)(g.T,{k:"radar.sitesMeta",en:p.UI.radar.sitesMeta})]}),(0,n.jsxs)("div",{className:"tools",children:[(0,n.jsx)(c.aA,{view:ex,onChange:e=>D.setView("urls",e)}),(0,n.jsx)(c.cc,{value:ek("sites"),onChange:e=>D.setCollapsed("sites",e)}),(0,n.jsx)("a",{className:"seeall",href:"/sites",children:ed?(0,n.jsxs)(n.Fragment,{children:[ei("more.seeAllSites","")," (",(0,n.jsx)(k.V,{n:Z.length}),") ","←"]}):p.UI.radar.seeAllSites(Z.length)})]})]}),!ek("sites")&&(0,n.jsxs)(n.Fragment,{children:["cards"===ex?(0,n.jsx)("div",{className:"grid",ref:ev,children:eb.map(e=>(0,n.jsx)(c.ct,{u:e,tone:em(e.entry.id),cockpit:D,incident:(0,c.G2)(G,e.entry.id),open:E===e.entry.id,onToggle:()=>eo(e.entry.id),onIgnoreRequest:en},e.entry.id))}):(0,n.jsx)("div",{className:"irows",ref:ev,children:eb.map(e=>(0,n.jsx)(c.kc,{u:e,tone:em(e.entry.id),cockpit:D,incident:(0,c.G2)(G,e.entry.id),open:E===e.entry.id,onToggle:()=>eo(e.entry.id),onIgnoreRequest:en},e.entry.id))}),ew.length>0&&(0,n.jsx)(n.Fragment,{children:(0,n.jsx)("div",{className:"cleanline",children:ew.every(e=>"clean"===em(e.entry.id))?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"okw",children:"✓"})," ",ed?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(k.V,{n:ew.length})," ",ei("more.sitesUp","")]}):p.UI.radar.moreSitesUp(ew.length)]}):ed?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(k.V,{n:ew.length})," ",ei("more.sites","")]}):(0,n.jsx)(n.Fragment,{children:p.UI.radar.moreSites(ew.length)})})})]})]}),(0,v.ZT)(O).length>0&&(0,n.jsx)(v.LZ,{cockpit:D})]}):(0,n.jsxs)("div",{className:"sweep-wrap",children:[(0,n.jsx)("div",{className:"sweep","aria-hidden":!0}),(0,n.jsx)("span",{children:(0,n.jsx)(I.hI,{children:ei("common.scanning",p.UI.common.scanning)})})]}),(null===O||eh.length>0||_>0||K.length>0)&&(0,n.jsxs)(n.Fragment,{children:[(J.length>0||Z.length>0||ee&&ee.items.length>0)&&(0,n.jsx)("div",{className:"secline","aria-hidden":!0}),(0,n.jsxs)("div",{className:"sec",children:[(0,n.jsx)("h2",{children:(0,n.jsx)(g.T,{k:"sec.discoveries",en:p.UI.radar.discoveries})}),(0,n.jsx)("span",{className:"meta",children:null===O?(0,n.jsx)(I.hI,{children:ei("common.loading",p.UI.common.loading)}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(k.V,{n:eh.length})," \xb7 ",(0,n.jsx)(g.T,{k:"radar.discoveriesMeta",en:p.UI.radar.discoveriesMeta}),eh.length>3?(0,n.jsxs)(n.Fragment,{children:[" \xb7 ",(0,n.jsx)(g.T,{k:"radar.discoveriesTop3",en:p.UI.radar.discoveriesTop3})]}):null]})}),(0,n.jsxs)("div",{className:"tools",children:[(0,n.jsx)(c.cc,{value:ek("discoveries"),onChange:e=>D.setCollapsed("discoveries",e),showLabel:p.UI.common.show,hideLabel:p.UI.common.hide,hideKey:"btn.hide"}),null!==O&&(0,n.jsx)("a",{className:"seeall",href:"/discoveries",children:ed?(0,n.jsxs)(n.Fragment,{children:[ei("more.seeAllDiscoveries","")," (",(0,n.jsx)(k.V,{n:eh.length}),") ","←"]}):p.UI.radar.seeAll(eh.length)})]})]}),!ek("discoveries")&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(x.hf,{done:D.insightsDeepTotal-_,total:D.insightsDeepTotal,working:null===O}),(0,n.jsx)("div",{className:"grid three",children:eh.slice(0,3).map(e=>(0,n.jsx)(i.JF,{d:e,cockpit:D},e.id))}),K.length>0&&(0,n.jsx)("div",{className:"disc-more",children:(0,n.jsxs)("span",{className:"m",children:[K.length," muted, named on the Discoveries page"]})})]})]}),R&&(0,n.jsx)("div",{className:"confirm-overlay",role:"dialog","aria-modal":"true",children:(0,n.jsxs)("div",{className:"confirm",style:{maxInlineSize:560},children:[(0,n.jsxs)("p",{children:[(0,n.jsx)("strong",{children:(0,n.jsx)(k.B,{children:function(e){var a;let s=e.split(/[\\/]/).filter(Boolean);return null!=(a=s[s.length-1])?a:e}(R)})})," ",(0,n.jsx)(g.T,{k:"radar.movedTail",en:p.UI.radar.movedTail})]}),(0,n.jsx)(l.A,{watched:null!=(S=null==(s=D.cfg)?void 0:s.roots)?S:[],autoBrowsePath:function(e){let a=e.split(/[\\/]/).filter(Boolean);return a.length>1?a.slice(0,-1).join("\\"):e}(R),replaceRoot:R,onChanged:()=>{V(null),D.refresh(!0)}}),(0,n.jsx)("div",{className:"setup-actions",children:(0,n.jsx)("button",{className:"b q",onClick:()=>V(null),children:(0,n.jsx)(g.T,{k:"btn.cancel",en:p.UI.common.cancel})})})]})}),et]})}function P(e){var a,s;let{cockpit:t}=e,[i,d]=(0,r.useState)(null),c=(0,g.kj)();return(0,g.cO)(),(0,n.jsxs)("div",{className:"empty welcome",children:[(0,n.jsx)("p",{className:"invite",children:c("empty.invite",p.UI.radar.emptyInvite)}),(0,n.jsx)("p",{className:"wl",children:c("empty.line",p.UI.radar.emptyLine)}),(0,n.jsxs)("div",{className:"setup-actions",children:[(0,n.jsx)("button",{className:"btn ".concat("folder"===i?"":"primary"),"aria-pressed":"folder"===i,onClick:()=>d("folder"===i?null:"folder"),children:"folder"===i?c("btn.back",p.UI.radar.emptyBack):c("empty.pickFolder",p.UI.radar.emptyPickFolder)}),(0,n.jsx)("button",{className:"btn ".concat("site"===i?"":"primary"),"aria-pressed":"site"===i,onClick:()=>d("site"===i?null:"site"),children:"site"===i?c("btn.back",p.UI.radar.emptyBack):c("empty.pickSite",p.UI.radar.emptyPickSite)})]}),"folder"===i&&(0,n.jsx)(l.A,{watched:null!=(s=null==(a=t.cfg)?void 0:a.roots)?s:[],onChanged:()=>t.refresh(!0)}),"site"===i&&(0,n.jsx)(N.T,{cockpit:t}),(0,n.jsx)("p",{className:"someday",children:c("empty.someday",p.UI.radar.emptySomeday)}),C(t)&&(0,n.jsx)(F,{})]})}function C(e){let a=e.clients;return!!a&&0!==a.length&&a.every(e=>"present"===e.state||"missing"===e.state)&&!a.some(e=>e.connected)}function F(){let e=(0,g.kj)();return(0,n.jsx)("p",{className:"meta mcp-hint",children:(0,n.jsx)("a",{href:"/connections",children:e("radar.mcpHint",p.UI.radar.mcpHint)})})}function A(e){let{cockpit:a,collapsed:s}=e,r=(0,g.kj)(),t=(0,g.cO)();return 0===a.ignored.length?null:(0,n.jsxs)("div",{className:"ign2",children:[(0,n.jsxs)("div",{className:"ign2-row",children:[(0,n.jsxs)("span",{className:"n",...(0,T.uN)(t.ignore),children:[(0,n.jsx)(g.T,{k:"radar.ignoredLabel",en:p.UI.radar.ignoredLabel}),": ",(0,n.jsx)(k.V,{n:a.ignored.length})]}),s&&(0,n.jsx)("span",{className:"why",children:r("radar.ignoredStill",p.UI.radar.ignoredStill)}),(0,n.jsx)("button",{className:"b2 q ign2-toggle","aria-expanded":!s,onClick:()=>a.setCollapsed("ignored",!s),children:s?(0,n.jsx)(g.T,{k:"btn.show",en:p.UI.radar.ignoredShow}):(0,n.jsx)(g.T,{k:"btn.hide",en:p.UI.radar.ignoredHide})})]}),!s&&a.ignored.map(e=>(0,n.jsxs)("div",{className:"ign2-row item",children:[(0,n.jsxs)("span",{className:"item",children:[(0,n.jsx)(k.B,{children:e.label})," ",(0,n.jsx)("span",{className:"mono",children:"project"===e.kind?"project":"site"})]}),(0,n.jsx)("span",{className:"why",children:r("radar.ignoredStill",p.UI.radar.ignoredStill)}),(0,n.jsx)("button",{className:"b2 q",...(0,T.uN)(t.watch),onClick:()=>a.unignore(e.id),children:(0,n.jsx)(g.T,{k:"btn.watchAgain",en:p.UI.radar.watchAgain})})]},e.id))]})}function M(e){var a,s,l,i,d;let{it:c,cockpit:h,demo:u,onIgnoreRequest:N,onFind:v}=e,I=(0,r.useContext)(t.vC),f=(0,t.cB)(),[U,y]=(0,r.useState)(!1),[b,w]=(0,r.useState)(!1),S=(0,r.useRef)(null);(0,r.useEffect)(()=>{var e,a;U&&b&&(null==(e=S.current)||e.scrollIntoView({block:"nearest"}),null==(a=S.current)||a.focus(),w(!1))},[U,b]);let P=(0,g.kj)(),C=(0,g.cO)(),F=(0,j.pd)(c),A="losable"===F?P("tag.losable",p.UI.radar.tagLosable):"money"===F?P("tag.money",p.UI.radar.tagMoney):P("tag.hygiene",p.UI.radar.tagHygiene),M="losable"===F?C.tagLosable:"money"===F?C.tagMoney:C.tagHygiene,D=[];return!c.handled&&(c.resurfaceId&&D.push({label:P("act.stillIgnore",p.UI.radar.stillIgnore),title:C.ignore,effect:P("eff.stillIgnore",p.UI.radar.effStillIgnore),onClick:()=>h.stillIgnore(c.resurfaceId)}),c.ignore&&!c.resurfaceId&&D.push({label:P("act.ignore",p.UI.radar.ignore),title:C.ignore,effect:P("eff.ignore",p.UI.radar.effIgnore),onClick:()=>N(c.ignore.id,c.ignore.kind,c.ignore.label,c.ignore.atRisk,"project"===c.ignore.kind?P("confirm.project",p.UI.radar.confirmProject):P("confirm.site",p.UI.radar.confirmSite),"site"===c.kind?{down:!0}:void 0)}),c.laterId&&D.push({label:P("act.later",p.UI.radar.later),title:C.later,effect:P("eff.later",p.UI.radar.effLater),onClick:()=>h.later(c.laterId)}),c.findPath&&D.push({label:P("act.stopWatching",p.UI.radar.stopWatching),title:C.unwatch,effect:P("eff.stopWatching",p.UI.radar.effStopWatching),danger:!0,onClick:()=>{h.post({action:"removeRoot",path:c.findPath}).then(e=>{e.ok&&h.resolveRow(c.findPath)})}})),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{[m.J6]:c.id,className:"need".concat(U?" open":"").concat("red"===c.tone&&!c.handled?" bad":"").concat(c.handled?" handled":""),children:[(0,n.jsx)("span",{className:"tag ".concat(F),...(0,T.uN)(M),children:A}),(0,n.jsxs)("div",{className:"txt",children:[(0,n.jsx)("b",{children:c.whatP?(0,n.jsx)(g.P,{p:c.whatP}):c.what}),(0,n.jsx)("span",{children:c.whyP?(0,n.jsx)(g.P,{p:c.whyP}):c.why})]}),c.since&&!(0,o.nW)(c.since,f)&&(0,n.jsx)("span",{className:"age",...(0,T.uN)(C.age),children:function(e){let a=Math.floor(e/6e4);return a<60?"".concat(Math.max(1,a),"m"):a<1440?"".concat(Math.floor(a/60),"h"):"".concat(Math.floor(a/1440),"d")}(f-c.since)}),(0,n.jsxs)("div",{className:"acts",children:[!c.handled&&(c.steps.length>0||(null!=(s=null==(a=c.devSteps)?void 0:a.length)?s:0)>0)&&(0,n.jsx)("button",{className:"b2",...(0,T.uN)(C.fix),onClick:()=>{y(!0),w(!0)},children:(0,n.jsx)(g.T,{k:"btn.fix",en:p.UI.session.fix})}),!c.handled&&c.checkId&&(0,n.jsx)("button",{className:"b2",...(0,T.uN)(C.check),onClick:()=>h.ack(c.checkId),children:P("act.check",p.UI.radar.check)}),!c.handled&&c.resurfaceId&&(0,n.jsx)("button",{className:"b2",...(0,T.uN)(C.watch),onClick:()=>h.unignore(c.resurfaceId),children:(0,n.jsx)(g.T,{k:"btn.watchAgain",en:p.UI.radar.watchAgain})}),!c.handled&&c.findPath&&(0,n.jsx)("button",{className:"b2",onClick:()=>v(c.findPath),children:P("act.findIt",p.UI.radar.findIt)}),!c.handled&&c.watchPath&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("button",{className:"b2",onClick:()=>{h.post({action:"addRoot",path:c.watchPath}).then(e=>{e.ok&&h.refresh(!0)})},children:P("site.add",p.UI.radar.siteAdd)}),(0,n.jsx)("button",{className:"b2 q",onClick:()=>{h.post({action:"addExclude",path:c.watchPath})},children:(0,n.jsx)(g.T,{k:"site.notThisOne",en:p.UI.radar.proposalNotThis})})]}),(0,n.jsx)("button",{className:"b2 q",...(0,T.uN)(C.details),onClick:()=>y(!U),"aria-expanded":U,children:U?(0,n.jsx)(g.T,{k:"btn.hide",en:p.UI.common.hide}):(0,n.jsx)(g.T,{k:"btn.details",en:p.UI.common.details})}),(0,n.jsx)(x.ob,{actions:D})]}),c.handled&&(0,n.jsx)("span",{className:"ok-line handled-note",children:c.handledNoteP?(0,n.jsx)(g.P,{p:c.handledNoteP}):null!=(l=c.handledNote)?l:P("act.handled",p.UI.radar.handled)})]}),U&&(0,n.jsxs)("div",{className:"need-draw",children:[(0,n.jsxs)("div",{className:"need-detail rec",ref:S,tabIndex:-1,children:[(0,n.jsx)("span",{className:"k",children:P("fix.what",p.UI.session.fixHeadingWhat)}),(0,n.jsx)("span",{children:c.whyP?(0,n.jsx)(g.P,{p:c.whyP}):c.why}),(0,n.jsx)("span",{className:"k",children:P("fix.steps",p.UI.session.fixHeadingSteps)}),(null!=(i=c.stepsP)?i:c.steps.map(e=>({k:"",en:e}))).map((e,a)=>(0,n.jsx)("span",{children:(0,n.jsx)(g.P,{p:e})},a))]}),I&&c.devSteps&&c.devSteps.length>0&&(0,n.jsxs)("div",{className:"need-detail cmds",children:[(0,n.jsx)("span",{className:"k",children:P("fix.commands",p.UI.session.fixHeadingCommands)}),c.devSteps.map(e=>(0,n.jsx)(k.B,{mono:!0,children:e},e)),(0,n.jsx)(m.M0,{it:c})]}),c.openPath&&!u&&(0,n.jsxs)("div",{className:"draw-line",children:[(0,n.jsx)("span",{className:"k",children:P("radar.folder",p.UI.radar.folder)}),(0,n.jsx)(k.B,{mono:!0,children:c.openPath}),(0,n.jsx)(m.r8,{path:c.openPath})]}),(0,n.jsxs)("div",{className:"need-detail",children:[(0,n.jsx)("span",{className:"k",children:P("radar.whatISaw",p.UI.radar.whatISaw)}),(null!=(d=c.evidenceP)?d:c.evidence.map(e=>({k:"",en:e}))).map((e,a)=>(0,n.jsx)("span",{className:"mono",children:(0,n.jsx)(g.P,{p:e})},a))]})]})]})}}},e=>{e.O(0,[2619,3192,8050,7897,4097,5623,8441,1255,7358],()=>e(e.s=8216)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7081],{3123:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>T});var a=r(5155),s=r(2115),n=r(7406),l=r(639),o=r(5163),i=r(8261),c=r(436),d=r(8706);function p(e,t,r){return{fact:e.en,factP:e,why:t.en,whyP:t,detail:r.en,detailP:r}}function u(e){var t;let r=[];if(e.oldestTodo&&r.push({cat:c.UI.report.catTimeCapsule,catKey:"report.catTimeCapsule",...p((0,d.ph)("wk.todoFact",'Your oldest note to yourself is still open, from {0}: "{1}"',e.oldestTodo.from,e.oldestTodo.quote),(0,d.pl)("wk.todoWhy",c.UI.report.wTodoWhy),(0,d.pl)("tip.todosTip",c.UI.report.todosTip))}),e.reclaimableBytes>5e7&&r.push({cat:c.UI.report.catHousekeeping,catKey:"report.catHousekeeping",...p((0,d.ph)("wk.spaceFact","{0} of downloaded code libraries sit in projects you have not touched in months",(t=e.reclaimableBytes)>=1e9?"".concat((t/1e9).toFixed(1)," GB"):"".concat(Math.round(t/1e6)," MB")),(0,d.pl)("wk.spaceWhy",c.UI.report.wSpaceWhy),(0,d.pl)("tip.reclaimableTip",c.UI.report.reclaimableTip))}),e.busiest&&r.push({cat:c.UI.report.catHistory,catKey:"report.catHistory",...p((0,d.ph)("wk.busiestFact","{0} is your busiest project, {1} commits",e.busiest.name,e.busiest.commits.toLocaleString()),(0,d.pl)("wk.busiestWhy",c.UI.report.wBusiestWhy),(0,d.pl)("tip.busiestTip",c.UI.report.busiestTip))}),e.anniversaries.length>0){let t=e.anniversaries[0];r.push({cat:c.UI.report.catMilestone,catKey:"report.catMilestone",...p((0,d.ph)("wk.birthdayFact","{0} turns {1} on {2}",t.name,t.years,t.when),(0,d.pl)("wk.birthdayWhy",c.UI.report.wBirthdayWhy),(0,d.pl)("tip.birthdayTip",c.UI.report.birthdayTip))})}return r}var h=r(7470),f=r(9178),m=r(4576),x=r(5310),U=r(3034),g=r(1551),j=r(9378),v=r(5964);function I(e,t){return"".concat(e," - ").concat(t===e?c.UI.radar.depAnswered.replace(/^a dependency - /,""):"".concat(e-t," ").concat(c.UI.radar.depNoAnswer.replace(/^a dependency - /,"")))}function y(e){return"SAFETY"===e.state?{big:e.safety,label:c.UI.report.vSafety(e.safety),labelKey:"report.vSafety",tone:"warn"}:{big:e.needing,label:c.UI.report.vNeeding(e.needing),labelKey:"report.vNeeding",tone:null===e.state?"none":e.needing>0?"warn":"ok"}}var b=r(7e3),k=r(9129),w=r(5834),N=r(797);function T(){var e,t;let r=(0,l.x)(),{delta:d}=(0,k.K)(r),[p,j]=(0,s.useState)(null),[T,D]=(0,s.useState)(!1),[E,F]=(0,s.useState)(!1);(0,s.useEffect)(()=>{fetch("/api/report",{cache:"no-store"}).then(e=>e.ok?e.json():null).then(e=>e&&"object"==typeof e&&"number"==typeof e.projects&&e.languages&&"object"==typeof e.languages?j(e):D(!0)).catch(()=>D(!0))},[]);let M=(0,g.$c)(null==(e=r.cfg)?void 0:e.lang),R=(e,t)=>(0,g.tr)(M,e,t),K="ar"===M,O=(0,x.qN)(M),W=function(e){var t,r,a,s,n,l,i,d,p,u;let h=e.projects.filter(e=>!e.looksDownloaded),f=h.filter(e=>e.uncommitted>0),m=h.filter(e=>{var t;return(null!=(t=e.ahead)?t:0)>0}),x=e.incidents.filter(e=>!e.endedTs).length,U=(null!=(n=null==(t=e.expiry)?void 0:t.items)?n:[]).filter(e=>"number"==typeof e.daysLeft).sort((e,t)=>{var r,a;return(null!=(r=e.daysLeft)?r:0)-(null!=(a=t.daysLeft)?a:0)})[0];return{needing:null!=(l=null==(r=e.attention)?void 0:r.needs)?l:0,safety:null!=(i=null==(a=e.attention)?void 0:a.safety)?i:0,state:null!=(d=null==(s=e.attention)?void 0:s.state)?d:null,cleanBacked:h.filter(t=>{let r;return"clean"===(r=t.path.toLowerCase(),(0,o.YV)(e.attention,r))&&t.hasRemote}).length,...function(e){let t={sitesUp:0,sitesTotal:0,depsTotal:0,depsAnswered:0};for(let s of Array.isArray(e)?e:[]){var r,a;let e=(null==s||null==(r=s.current)?void 0:r.ok)===!0;(a=null==s?void 0:s.entry)&&"dependency"===a.role?(t.depsTotal++,e&&t.depsAnswered++):(t.sitesTotal++,e&&t.sitesUp++)}return t}(e.urls),unsavedProjects:f.length,unsavedChanges:f.reduce((e,t)=>e+t.uncommitted,0),unpushedCommits:m.reduce((e,t)=>{var r;return e+(null!=(r=t.ahead)?r:0)},0),unpushedProjects:m.length,notBackedUp:h.filter(e=>e.isGit&&e.remoteKnown&&!e.hasRemote).length,sitesQuiet:0===x,nextDate:U?{name:U.name,text:c.UI.report.dateIn(null!=(p=c.UI.ahead.kind[U.kind])?p:U.kind,U.daysLeft),judgment:null!=(u=U.judgment)?u:null}:null}}(r),V=(0,i.X2)(r.attention,r.projects),q=(null==p?void 0:p.languages)?Object.entries(p.languages).sort((e,t)=>t[1]-e[1]):[],H=q.reduce((e,t)=>{let[,r]=t;return e+r},0);return(0,a.jsxs)(n.Ay,{active:"/report",cockpit:r,children:[(0,a.jsxs)("div",{className:"pagebar",children:[(0,a.jsx)("h1",{children:(0,a.jsx)(x.T,{k:"room.report",en:c.UI.report.title})}),(0,a.jsx)("span",{className:"purpose",...(0,N.uN)(O.estate),children:(0,a.jsx)(x.T,{k:"report.purpose",en:c.UI.report.purpose})}),p&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("button",{className:"scan",style:{marginInlineStart:"auto"},onClick:()=>{!function(e,t,r,a){let s=document.createElement("canvas");s.width=2400,s.height=1260;let n=s.getContext("2d");if(!n)return;n.scale(2,2),n.fillStyle=P.void,n.fillRect(0,0,1200,630);let l=n.createRadialGradient(983.9999999999999,-80,60,983.9999999999999,-80,700);l.addColorStop(0,"rgba(110,168,255,.10)"),l.addColorStop(1,"rgba(110,168,255,0)"),n.fillStyle=l,n.fillRect(0,0,1200,630);let o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400;return"".concat(t," ").concat(e,"px Inter, system-ui, sans-serif")},d=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:400;return"".concat(t," ").concat(e,'px "IBM Plex Mono", Consolas, monospace')};n.strokeStyle="rgba(148,163,214,.25)",n.lineWidth=4,n.beginPath(),n.arc(80,74,15,0,2*Math.PI),n.stroke(),n.strokeStyle=P.accent,n.lineCap="round",n.beginPath(),n.arc(80,74,15,-Math.PI/2,5*Math.PI/6),n.stroke(),n.fillStyle=P.accent,n.beginPath(),n.arc(80,74,4.5,0,2*Math.PI),n.fill(),n.fillStyle=P.text,n.font=o(28,800),n.textBaseline="middle",n.textAlign="left",n.fillText(c.UI.report.heading,108,75),n.textAlign="right",n.font=d(15),n.fillStyle=P.faint,n.fillText((0,h.OL)(e.generatedAt),1136,75),n.textBaseline="alphabetic",r&&(n.fillStyle=P.dim,n.font=o(15),n.textAlign="left",n.fillText(L(n,r,1072),64,108));let p=1048/3,u=y(t);if([[String(u.big),u.label,"warn"===u.tone?P.warn:"ok"===u.tone?P.ok:P.dim],[String(t.cleanBacked),c.UI.report.vClean,P.ok],[0===t.sitesTotal?"-":"".concat(t.sitesUp,"/").concat(t.sitesTotal),c.UI.report.vSites,0===t.sitesTotal?P.dim:t.sitesUp===t.sitesTotal?P.ok:P.warn]].forEach((e,t)=>{let[r,a,s]=e,l=64+t*(p+12);n.fillStyle=P.panel,A(n,l,126,p,96,14),n.fill(),n.strokeStyle=P.line,n.lineWidth=1,A(n,l,126,p,96,14),n.stroke(),n.fillStyle=s,n.font=o(40,700),n.textAlign="left",n.fillText(r,l+20,184),n.fillStyle=P.dim,n.font=o(15),n.fillText(a,l+20,208)}),a){let e=(0,i.sx)(a);n.fillStyle="clean"===e.tone?P.ok:P.warn,n.font=o(17,700),n.textAlign="left",n.fillText(L(n,e.headline.en,1072),64,243)}n.fillStyle=P.faint,n.font=d(13,500),n.fillText(c.UI.report.rightNow.toUpperCase(),64,260);let f=[];f.push([c.UI.report.rUnsaved,t.unsavedProjects>0?c.UI.report.rUnsavedVal(t.unsavedProjects,t.unsavedChanges):c.UI.report.rNone,t.unsavedProjects>0?P.warn:P.ok]),t.unpushedCommits>0&&f.push([c.UI.report.rUnpushed,c.UI.report.rUnpushedVal(t.unpushedCommits,t.unpushedProjects),P.warn]),f.push([t.notBackedUp>0?c.UI.report.rNoBackup:c.UI.report.rEverythingElse,t.notBackedUp>0?c.UI.report.rNoBackupVal(t.notBackedUp):c.UI.report.rBackedUp,t.notBackedUp>0?P.warn:P.ok]),t.sitesTotal>0&&f.push([c.UI.report.rSites,t.sitesUp===t.sitesTotal?t.sitesQuiet?c.UI.report.rSitesAllUp:c.UI.report.rSitesUpNow:c.UI.report.rSitesDown(t.sitesTotal-t.sitesUp),t.sitesUp===t.sitesTotal?P.ok:P.warn]),t.nextDate&&f.push([c.UI.report.rNext,"".concat(t.nextDate.name," - ").concat(t.nextDate.text),P.dim]);let x=292;for(let[e,t,r]of f.slice(0,5)){n.fillStyle=P.dim,n.font=o(17),n.textAlign="left",n.fillText(e,64,x);let a=n.measureText(e).width;n.fillStyle=r,n.font=o(17,600),n.textAlign="right",n.fillText((0,b.Ng)(t,470-a-24,e=>n.measureText(e).width),534,x),n.strokeStyle=P.line,n.lineWidth=1,n.beginPath(),n.moveTo(64,x+12),n.lineTo(534,x+12),n.stroke(),x+=36}n.textAlign="left",n.fillStyle=P.faint,n.font=d(13,500),n.fillText(c.UI.report.inNumbers.toUpperCase(),640,260);let U=Object.entries(e.languages).sort((e,t)=>t[1]-e[1]),g=U.reduce((e,t)=>{let[,r]=t;return e+r},0);if(g>0){let e=640,t=[P.accent,"#8FB8FF","#4A7ACB","#3B5A8A"];U.slice(0,4).forEach((r,a)=>{let[,s]=r,l=s/g*496;n.fillStyle=t[a],n.fillRect(e,276,l,10),e+=l}),n.fillStyle=P.faint,n.fillRect(e,276,Math.max(0,1136-e),10)}let j=[[e.lines.toLocaleString(),c.UI.report.fLines],[String(e.projects),c.UI.report.fProjects]];U.length>0&&j.push([String(U.length),c.UI.report.fLanguages(U[0][0])]),null!=e.commits&&j.push([e.commits.toLocaleString(),c.UI.report.fCommits]),j.slice(0,4).forEach((e,t)=>{var r,a;let[s,l]=e,i=640+t%2*248,c=312+84*Math.floor(t/2);n.fillStyle=P.inset,A(n,i,c,236,68,12),n.fill(),n.strokeStyle=P.line,n.lineWidth=1,A(n,i,c,236,68,12),n.stroke(),n.fillStyle=P.text,n.font=o(24,700),n.textAlign="left",n.fillText(s,i+16,c+32),n.fillStyle=P.faint,n.font=o(14),n.fillText((a=30,(r=l).length>30?r.slice(0,a-1)+"…":r),i+16,c+54)}),e.oldestTodo&&(n.fillStyle=P.dim,n.font="italic 400 17px Inter, system-ui, sans-serif",n.textAlign="left",n.fillText(L(n,'"'.concat(e.oldestTodo.quote,'" - ').concat(c.UI.report.wTodoFrom(e.oldestTodo.from)),1072),64,512)),n.font=d(13),n.textAlign="left";let v=(0,m.dv)(n,64,604,P.text,P.accent);n.fillStyle=P.faint,n.fillText(" ".concat(c.UI.shell.footBy," ").concat(m.rM," \xb7 ").concat(c.UI.report.imageFoot),v,604);let I=document.createElement("a");I.download="your-estate-".concat((0,h.rq)(e.generatedAt),".png"),I.href=s.toDataURL("image/png"),I.click()}(p,W,C(d,M),V)},children:R("report.download",c.UI.report.download)}),(0,a.jsx)("button",{className:"btn",onClick:()=>{!function(e,t,r,a){var s;let n=function(e){var t,r,a;let{data:s,now:n,seal:l,date:o,since:i,radius:d}=e,p=[];p.push("# ".concat(c.UI.report.heading)),p.push("".concat(c.UI.report.asOf," ").concat(o)),p.push(""),i&&(p.push(i),p.push("")),d&&(p.push(d),p.push(""));let u=y(n);p.push("- ".concat(u.big," ").concat(u.label)),p.push("- ".concat(n.cleanBacked," ").concat(c.UI.report.vClean)),p.push("- ".concat(0===n.sitesTotal?"-":"".concat(n.sitesUp,"/").concat(n.sitesTotal)," ").concat(c.UI.report.vSites)),p.push(""),p.push("## ".concat(c.UI.report.rightNow)),p.push(""),p.push("- ".concat(c.UI.report.rUnsaved,": ").concat(n.unsavedProjects>0?c.UI.report.rUnsavedVal(n.unsavedProjects,n.unsavedChanges):c.UI.report.rNone)),n.unpushedCommits>0&&p.push("- ".concat(c.UI.report.rUnpushed,": ").concat(c.UI.report.rUnpushedVal(n.unpushedCommits,n.unpushedProjects))),p.push("- ".concat(n.notBackedUp>0?c.UI.report.rNoBackup:c.UI.report.rEverythingElse,": ").concat(n.notBackedUp>0?c.UI.report.rNoBackupVal(n.notBackedUp):c.UI.report.rBackedUp)),n.sitesTotal>0&&p.push("- ".concat(c.UI.report.rSites,": ").concat(n.sitesUp===n.sitesTotal?n.sitesQuiet?c.UI.report.rSitesAllUp:c.UI.report.rSitesUpNow:c.UI.report.rSitesDown(n.sitesTotal-n.sitesUp))),(null!=(t=n.depsTotal)?t:0)>0&&p.push("- ".concat(c.UI.report.rDeps,": ").concat(I(n.depsTotal,null!=(r=n.depsAnswered)?r:0))),n.nextDate&&p.push("- ".concat(c.UI.report.rNext,": ").concat(n.nextDate.name," - ").concat(n.nextDate.text)),p.push(""),p.push("## ".concat(c.UI.report.inNumbers)),p.push(""),p.push("- ".concat(s.lines.toLocaleString()," ").concat(c.UI.report.fLines));let h=null!=(a=s.excludedCopies)?a:0;p.push("- ".concat(s.projects," ").concat(c.UI.report.fProjects).concat(h>0?" (".concat(c.UI.report.fProjectsExcluded(h),")"):""));let f=Object.entries(s.languages).sort((e,t)=>t[1]-e[1]);f.length>0&&p.push("- ".concat(f.length," ").concat(c.UI.report.fLanguages(f[0][0]))),null!=s.commits&&p.push("- ".concat(s.commits.toLocaleString()," ").concat(c.UI.report.fCommits)),p.push("");let x=[];if(s.oldestTodo&&x.push('- "'.concat(s.oldestTodo.quote,'" - ').concat(c.UI.report.wTodoFrom(s.oldestTodo.from))),s.busiest&&x.push("- ".concat(c.UI.report.wBusiestFact(s.busiest.name,s.busiest.commits))),x.length>0){for(let e of(p.push("## ".concat(c.UI.report.worthKnowing)),p.push(""),x))p.push(e);p.push("")}return p.push("---"),p.push(""),l.known?(p.push("".concat(m.qt," ").concat(l.id).concat(l.version?" (".concat(l.version,")"):"")),l.proves&&p.push(l.proves)):l.note&&p.push(l.note),p.push(""),p.push("".concat(m.qt," ").concat(c.UI.shell.footBy," ").concat(m.rM," \xb7 ").concat(c.UI.report.imageFoot)),(0,v.dK)(p.join("\n"))}({data:e,now:{needing:t.needing,safety:t.safety,state:t.state,cleanBacked:t.cleanBacked,sitesUp:t.sitesUp,sitesTotal:t.sitesTotal,depsTotal:t.depsTotal,depsAnswered:t.depsAnswered,unsavedProjects:t.unsavedProjects,unsavedChanges:t.unsavedChanges,unpushedCommits:t.unpushedCommits,unpushedProjects:t.unpushedProjects,notBackedUp:t.notBackedUp,sitesQuiet:t.sitesQuiet,nextDate:t.nextDate?{name:t.nextDate.name,text:t.nextDate.text}:null},seal:e.build,date:(0,h.OL)(e.generatedAt),since:r,radius:a?(0,i.sx)(a).headline.en:null}),l=new Blob([n],{type:"text/markdown"}),o=URL.createObjectURL(l),d=document.createElement("a");s=(0,h.rq)(e.generatedAt),d.download="your-estate-".concat(s,".md"),d.href=o,d.click(),setTimeout(()=>URL.revokeObjectURL(o),2e3)}(p,W,C(d,M),V)},children:R("report.downloadText",c.UI.report.downloadText)}),(0,a.jsx)("button",{className:"btn",disabled:E,onClick:()=>{F(!0),fetch("/api/card",{cache:"no-store"}).then(e=>e.ok?e.json():null).then(e=>{(null==e?void 0:e.card)&&function(e,t){let r=document.createElement("canvas");r.width=2160,r.height=2700;let a=r.getContext("2d");if(!a)return;a.scale(2,2);let s=(e,r)=>(0,g.tr)(t,e,r);a.fillStyle=P.void,a.fillRect(0,0,1080,1350);let n=a.createRadialGradient(540,120,80,540,120,900);n.addColorStop(0,"rgba(77,127,255,.14)"),n.addColorStop(1,"rgba(77,127,255,0)"),a.fillStyle=n,a.fillRect(0,0,1080,1350);let l=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return"".concat(t?700:400," ").concat(e,"px Inter, system-ui, sans-serif")},o=e=>"400 ".concat(e,'px "IBM Plex Mono", Consolas, monospace');a.textBaseline="middle";let i=(0,h.OL)(e.generatedAt);a.font=o(20);let d=a.measureText(i).width;a.fillStyle=P.faint,a.textAlign="right",a.fillText(i,1e3,88),a.font=l(30,!0),a.fillStyle=P.text,a.textAlign="left",a.fillText(L(a,s("sec.reportHeading",c.UI.report.heading),920-d-24),80,88),a.textAlign="center",a.fillStyle=P.text,a.font=l(200,!0),a.fillText(e.lines.toLocaleString(),540,232),a.fillStyle=P.dim,a.font=l(30),a.fillText(s("card.heroLabel",c.UI.card.heroLabel).replace("{0}",String(e.projects)),540,366),a.fillStyle=P.faint,a.font=l(21),a.fillText(s("card.heroSub",c.UI.card.heroSub),540,412);let p=[[s("card.statLanguages",c.UI.card.statLanguages),String(e.languages)],...null===e.ageDays?[]:[[s("card.statAge",c.UI.card.statAge),(0,f.LS)(e.ageDays,"day")]],[s("card.statBranches",c.UI.card.statBranches),String(e.branches)],[s("card.statCommits",c.UI.card.statCommits),String(e.total)],[s("card.statReadProjects",c.UI.card.statReadProjects),String(e.readProjects)],...0!==e.busiestProject&&e.busiestProjectName?[[s("card.statBusiestProject",c.UI.card.statBusiestProject).replace("{0}",(0,f.LS)(e.busiestProject,"commit")),e.busiestProjectName]]:[]],u=e.projects>0;u||(a.fillStyle=P.dim,a.font=l(30),a.fillText(s("card.emptyEstate",c.UI.card.emptyEstate),540,512));let x=920/3;u&&p.forEach((e,t)=>{let[r,s]=e,n=Math.floor(t/3),o=80+920/3*(t%3+.5),i=512+156*n,c=(e=>{for(let t=58;t>=26;t-=4)if(a.font=l(t,!0),a.measureText(e).width<=x-16)return{font:l(t,!0),text:e};a.font=l(26,!0);let t=e;for(;t.length>1&&a.measureText(t+"…").width>x-16;)t=t.slice(0,-1);return{font:l(26,!0),text:t+"…"}})(s);a.fillStyle=P.text,a.font=c.font,a.fillText(c.text,o,i),a.fillStyle=P.faint,a.font=l(20),a.fillText(r,o,i+54)});if(u){a.fillStyle=P.faint,a.font=l(20),a.fillText(s("card.gridHead",c.UI.card.gridHead),540,784);let t=Math.round(309.5),r=824,n=Math.max(1,e.busiestDay);for(let s=0;s<12;s++)for(let l=0;l<7;l++){let o=7*s+l,i=e.days[o],c=t+39*s,d=r+39*l,p=i?i.commits:0;if(0===p)a.fillStyle="rgba(148,163,214,.10)";else{let e=Math.min(1,p/n);a.fillStyle="rgba(77,127,255,".concat((.28+.72*e).toFixed(3),")")}A(a,c,d,32,32,6),a.fill()}}u&&e.capped&&(a.fillStyle=P.faint,a.font=l(18),a.fillText(s("card.capped",c.UI.card.capped).replace("{0}",String(e.readProjects)),540,1174)),a.fillStyle=P.dim,a.font=o(18),a.fillText(e.seal.known&&e.seal.id?s("card.seal",c.UI.card.seal).replace("{0}",e.seal.id):s("card.sealNoBuild",c.UI.card.sealNoBuild),540,1218),a.font=l(20,!0);let U=s("card.foot",c.UI.card.foot),j=a.measureText(U).width;a.textAlign="left";let v=Math.round((1080-j)/2),I=(0,m.dv)(a,v,1280,P.text,P.accent);a.fillStyle=P.faint,a.font=l(20),a.fillText(" ".concat(c.UI.shell.footBy," ").concat(m.rM),I,1280);let y=document.createElement("a");y.download="af360-card-".concat((0,h.rq)(Date.now()),".png"),y.href=r.toDataURL("image/png"),y.click()}(e.card,M)}).catch(()=>{}).finally(()=>F(!1))},children:R("card.button",c.UI.card.button)})]})]}),(null==p?void 0:p.demo)&&(0,a.jsxs)("p",{className:"banner",children:[R("banner.reportLead",c.UI.report.bannerLead)," ",(0,a.jsx)("a",{className:"link",href:"/radar",children:R("banner.radarLink",c.UI.report.bannerLink)})," ",R("banner.reportTail",c.UI.report.bannerTail)]}),T?(0,a.jsx)("p",{className:"error-line",children:R("report.failed",c.UI.report.failed)}):p?0===p.projects?(0,a.jsxs)("div",{className:"empty",children:[(0,a.jsx)("p",{className:"invite",children:R("report.emptyInvite",c.UI.report.emptyInvite)}),(0,a.jsx)("p",{children:R("report.emptyLine",c.UI.report.emptyLine)}),(0,a.jsx)("a",{className:"btn primary",href:"/radar",children:R("btn.goRadar",c.UI.report.goRadar)})]}):(0,a.jsxs)("div",{className:"er",children:[(0,a.jsxs)("div",{className:"er-head",children:[(0,a.jsx)("h1",{children:(0,a.jsx)(x.T,{k:"sec.reportHeading",en:c.UI.report.heading})}),(0,a.jsxs)("span",{className:"when",children:[R("report.asOf",c.UI.report.asOf)," ",(0,a.jsx)(U.En,{children:(0,a.jsx)(n.fV,{ts:p.generatedAt,skewForm:"core"})})," - ",(0,a.jsx)(U.En,{children:new Date(p.generatedAt).toLocaleDateString([],{month:"long",day:"numeric"})})]})]}),(0,a.jsx)("div",{className:"er-sub",children:R("report.sub",c.UI.report.sub)}),(0,a.jsxs)("div",{className:"verdict",children:[(0,a.jsxs)("div",{className:"vcard ".concat(y(W).tone),children:[(0,a.jsx)("div",{className:"big",children:y(W).big}),(0,a.jsx)("div",{className:"lbl",children:R(y(W).labelKey,y(W).label)})]}),(0,a.jsxs)("div",{className:"vcard ok",children:[(0,a.jsx)("div",{className:"big",children:W.cleanBacked}),(0,a.jsx)("div",{className:"lbl",children:R("report.vClean",c.UI.report.vClean)})]}),(0,a.jsxs)("div",{className:"vcard ".concat(0===W.sitesTotal?"info":W.sitesUp===W.sitesTotal?"ok":"warn"),children:[(0,a.jsx)("div",{className:"big",children:0===W.sitesTotal?"-":"".concat(W.sitesUp,"/").concat(W.sitesTotal)}),(0,a.jsx)("div",{className:"lbl",children:R("report.vSites",c.UI.report.vSites)})]})]}),(0,a.jsxs)("div",{className:"er-block",children:[(0,a.jsx)("h4",{children:(0,a.jsx)(x.T,{k:"sec.rightNow",en:c.UI.report.rightNow})}),(0,a.jsxs)("div",{className:"er-row",children:[(0,a.jsx)("span",{className:"k",children:R("report.rUnsaved",c.UI.report.rUnsaved)}),(0,a.jsx)("span",{className:"v",style:{color:W.unsavedProjects>0?"var(--warn)":"var(--ok)"},children:W.unsavedProjects>0?c.UI.report.rUnsavedVal(W.unsavedProjects,W.unsavedChanges):R("report.rNone",c.UI.report.rNone)})]}),W.unpushedCommits>0&&(0,a.jsxs)("div",{className:"er-row",children:[(0,a.jsx)("span",{className:"k",children:R("report.rUnpushed",c.UI.report.rUnpushed)}),(0,a.jsx)("span",{className:"v",style:{color:"var(--warn)"},children:c.UI.report.rUnpushedVal(W.unpushedCommits,W.unpushedProjects)})]}),(0,a.jsxs)("div",{className:"er-row",children:[(0,a.jsx)("span",{className:"k",children:W.notBackedUp>0?R("report.rNoBackup",c.UI.report.rNoBackup):R("report.rEverythingElse",c.UI.report.rEverythingElse)}),(0,a.jsx)("span",{className:"v",style:{color:W.notBackedUp>0?"var(--warn)":"var(--ok)"},children:W.notBackedUp>0?c.UI.report.rNoBackupVal(W.notBackedUp):R("report.rBackedUp",c.UI.report.rBackedUp)})]}),W.sitesTotal>0&&(0,a.jsxs)("div",{className:"er-row",children:[(0,a.jsx)("span",{className:"k",children:R("report.rSites",c.UI.report.rSites)}),(0,a.jsx)("span",{className:"v",style:{color:W.sitesUp===W.sitesTotal?"var(--ok)":"var(--warn)"},children:W.sitesUp===W.sitesTotal?W.sitesQuiet?R("report.rSitesAllUp",c.UI.report.rSitesAllUp):R("report.rSitesUpNow",c.UI.report.rSitesUpNow):K?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(U.V,{n:W.sitesTotal-W.sitesUp})," ",R("report.rSitesDownTail","")]}):c.UI.report.rSitesDown(W.sitesTotal-W.sitesUp)})]}),W.depsTotal>0&&(0,a.jsxs)("div",{className:"er-row",children:[(0,a.jsx)("span",{className:"k",children:R("report.rDeps",c.UI.report.rDeps)}),(0,a.jsx)("span",{className:"v",children:I(W.depsTotal,W.depsAnswered)})]}),W.nextDate&&(0,a.jsxs)("div",{className:"er-row wrap",children:[(0,a.jsx)("span",{className:"k",children:R("report.rNext",c.UI.report.rNext)}),(0,a.jsxs)("span",{className:"v mono",children:[W.nextDate.name," - ",W.nextDate.text]}),W.nextDate.judgment&&(0,a.jsx)("span",{className:"er-why",children:W.nextDate.judgment})]})]}),(0,a.jsxs)("div",{className:"er-block",children:[(0,a.jsx)("h4",{children:(0,a.jsx)(x.T,{k:"sec.inNumbers",en:c.UI.report.inNumbers})}),q.length>0&&H>0&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"langbar",role:"img","aria-label":R("report.langAria",c.UI.report.langAria),children:[q.slice(0,4).map((e,t)=>{let[r,s]=e;return(0,a.jsx)("span",{...(0,N.uN)("".concat(r," \xb7 ").concat(s.toLocaleString()," ").concat(R("report.linesWord",c.UI.report.linesWord))),style:{inlineSize:"".concat(s/H*100,"%"),background:B[t]}},r)}),q.length>4&&(0,a.jsx)("span",{...(0,N.uN)(R("report.langRest",c.UI.report.langRest)),style:{inlineSize:"".concat(q.slice(4).reduce((e,t)=>{let[,r]=t;return e+r},0)/H*100,"%"),background:"var(--faint)"}})]}),(0,a.jsx)("div",{className:"langkey",children:q.slice(0,4).map((e,t)=>{let[r]=e;return(0,a.jsxs)("span",{children:[(0,a.jsx)("i",{style:{background:B[t]}}),r]},r)})})]}),(0,a.jsxs)("div",{className:"facts",children:[(0,a.jsxs)("div",{className:"fact",children:[(0,a.jsx)("div",{className:"n",children:p.lines.toLocaleString()}),(0,a.jsx)("div",{className:"l",children:R("report.fLines",c.UI.report.fLines)})]}),(0,a.jsxs)("div",{className:"fact",children:[(0,a.jsx)("div",{className:"n",children:p.projects}),(0,a.jsx)("div",{className:"l",children:R("report.fProjects",c.UI.report.fProjects)}),(null!=(t=p.excludedCopies)?t:0)>0&&(0,a.jsx)("div",{className:"l excl",children:K?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(U.V,{n:p.excludedCopies})," ",R("report.fProjectsExcluded","")]}):c.UI.report.fProjectsExcluded(p.excludedCopies)})]}),q.length>0&&(0,a.jsxs)("div",{className:"fact",children:[(0,a.jsx)("div",{className:"n",children:q.length}),(0,a.jsx)("div",{className:"l",children:K?(0,a.jsxs)(a.Fragment,{children:[R("report.fLanguagesTail","")," ",(0,a.jsx)(U.B,{children:q[0][0]})]}):c.UI.report.fLanguages(q[0][0])})]}),null!=p.commits&&(0,a.jsxs)("div",{className:"fact",children:[(0,a.jsx)("div",{className:"n",children:p.commits.toLocaleString()}),(0,a.jsx)("div",{className:"l",children:R("report.fCommits",c.UI.report.fCommits)})]})]})]}),u(p).length>0&&(0,a.jsxs)("div",{className:"er-block",children:[(0,a.jsx)("h4",{children:(0,a.jsx)(x.T,{k:"sec.worthKnowing",en:c.UI.report.worthKnowing})}),(0,a.jsx)("p",{className:"er-subline",children:R("report.worthKnowingSub",c.UI.report.worthKnowingSub)}),(0,a.jsx)("div",{className:"wk",children:u(p).map(e=>(0,a.jsx)(S,{row:e},e.cat+e.fact))})]})]}):(0,a.jsxs)("div",{className:"sweep-wrap",children:[(0,a.jsx)("div",{className:"sweep","aria-hidden":!0}),(0,a.jsx)("span",{children:(0,a.jsx)(w.hI,{children:R("report.counting",c.UI.report.counting)})})]})]})}function S(e){let{row:t}=e,[r,n]=(0,s.useState)(!1),l=(0,x.kj)();return(0,x.cO)(),(0,a.jsxs)("div",{className:"wkrow".concat(r?" open":""),children:[(0,a.jsx)("span",{className:"cat mono",children:l(t.catKey,t.cat)}),(0,a.jsxs)("div",{className:"fact",children:[t.factP?(0,a.jsx)(x.P,{p:t.factP}):t.fact,t.why&&(0,a.jsxs)("span",{className:"why",children:[" - ",t.whyP?(0,a.jsx)(x.P,{p:t.whyP}):t.why]})]}),(0,a.jsx)("button",{className:"b2 q wk-details","aria-expanded":r,onClick:()=>n(!r),children:r?l("btn.hide",c.UI.common.hide):l("report.detailsLabel",c.UI.report.detailsLabel)}),r&&(0,a.jsx)("div",{className:"wkdepth",children:t.detailP?(0,a.jsx)(x.P,{p:t.detailP}):t.detail})]})}let B=["var(--accent)","var(--info)","color-mix(in srgb, var(--accent) 55%, var(--panel))","color-mix(in srgb, var(--info) 40%, var(--panel))"],P={void:"#0A0D14",panel:"#0F1420",inset:"#0E1526",line:"rgba(148,163,214,.18)",text:"#E7ECF4",dim:"#9AA6BC",faint:"#5C6880",accent:"#4D7FFF",ok:"#3ECF8E",warn:"#E8B23D"};function C(e,t){if(!e)return null;let r=null===e.since?"":(0,h.OL)(e.since);return(0,j.lz)(e,(e,r)=>(0,g.tr)(t,e,r),r)}function A(e,t,r,a,s,n){e.beginPath(),e.moveTo(t+n,r),e.arcTo(t+a,r,t+a,r+s,n),e.arcTo(t+a,r+s,t,r+s,n),e.arcTo(t,r+s,t,r,n),e.arcTo(t,r,t+a,r,n),e.closePath()}function L(e,t,r){if(e.measureText(t).width<=r)return t;let a=t.split(" "),s="";for(let t of a){if(e.measureText("".concat(s).concat(s?" ":"").concat(t,"…")).width>r)break;s+=(s?" ":"")+t}return(s||t.slice(0,8))+"…"}},9576:(e,t,r)=>{Promise.resolve().then(r.bind(r,3123))}},e=>{e.O(0,[2619,3192,8050,8441,1255,7358],()=>e(e.s=9576)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4662],{1823:(e,s,t)=>{Promise.resolve().then(t.bind(t,2802))},2613:(e,s,t)=>{"use strict";t.d(s,{fn:()=>u,hf:()=>h,ob:()=>o,tU:()=>m});var n=t(5155),a=t(2115),i=t(7650),l=t(436),c=t(5310),r=t(3034),d=t(797);function o(e){let{actions:s,label:t}=e,[r,o]=(0,a.useState)(!1),[h,u]=(0,a.useState)(null),m=(0,a.useRef)(null),g=(0,a.useRef)(null),p=(0,a.useId)(),b=(0,c.kj)(),j=(0,c.cO)(),x=(0,a.useCallback)(()=>{var e,s,t;let n=null==(e=m.current)?void 0:e.firstElementChild;if(!n)return;let a=n.getBoundingClientRect(),i=null!=(t=null==(s=g.current)?void 0:s.offsetHeight)?t:0,l=window.innerHeight-a.bottom,c=i>0&&l<i+8&&a.top>l;u({top:c?a.top-i-4:a.bottom+4,end:Math.max(4,window.innerWidth-a.right),flip:c})},[]);return((0,a.useLayoutEffect)(()=>{r&&x()},[r,x]),(0,a.useEffect)(()=>{if(!r)return;let e=e=>{var s,t;let n=e.target;(null==(s=m.current)?void 0:s.contains(n))||(null==(t=g.current)?void 0:t.contains(n))||o(!1)},s=e=>{"Escape"===e.key&&o(!1)},t=()=>x();return document.addEventListener("mousedown",e),document.addEventListener("keydown",s),window.addEventListener("scroll",t,!0),window.addEventListener("resize",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",s),window.removeEventListener("scroll",t,!0),window.removeEventListener("resize",t)}},[r,x]),0===s.length)?null:(0,n.jsxs)("div",{className:"ovf",ref:m,children:[(0,n.jsxs)("button",{className:"ovf-btn",type:"button","aria-haspopup":"menu","aria-expanded":r,"aria-controls":p,...(0,d.uN)(j.moreActions),onClick:()=>o(e=>!e),children:[(0,n.jsx)(c.T,{k:"btn.more",en:null!=t?t:l.UI.radar.moreActions})," ",(0,n.jsx)("span",{"aria-hidden":!0,children:"▾"})]}),r&&"undefined"!=typeof document&&(0,i.createPortal)((0,n.jsx)("div",{className:"ovf-menu",id:p,role:"menu",ref:g,"aria-label":b("act.moreAria",l.UI.radar.moreActionsAria),style:h?{insetBlockStart:h.top,insetInlineEnd:h.end}:{visibility:"hidden"},children:s.map(e=>(0,n.jsxs)("button",{role:"menuitem",type:"button",...(0,d.uN)(e.title),className:e.danger?"danger":void 0,onClick:()=>{o(!1),e.onClick()},children:[e.label,e.effect&&(0,n.jsx)("span",{children:e.effect})]},e.label))}),document.body)]})}function h(e){let{done:s,total:t,working:a}=e,i=(0,c.kj)();(0,c.cO)();let d="ar"===(0,c.uU)();return t>0&&s<t?(0,n.jsxs)("div",{className:"streamline",role:"status","aria-live":"polite",children:[(0,n.jsx)("i",{"aria-hidden":!0}),d?(0,n.jsxs)(n.Fragment,{children:[i("stream.countingLead","")," ",(0,n.jsx)(r.V,{n:s})," ",i("stream.countingMid","")," ",(0,n.jsx)(r.V,{n:t})," ",i("stream.countingTail","")]}):l.UI.stream.counting(s,t)]}):a?(0,n.jsxs)("div",{className:"streamline",role:"status","aria-live":"polite",children:[(0,n.jsx)("i",{"aria-hidden":!0}),i("stream.starting",l.UI.stream.starting)]}):null}function u(e){let{view:s,onChange:t}=e,a=(0,c.kj)();return(0,c.cO)(),(0,n.jsxs)("div",{className:"viewseg",role:"group","aria-label":a("radar.viewAria",l.UI.radar.viewAria),children:[(0,n.jsx)("button",{type:"button",className:"cards"===s?"on":"","aria-pressed":"cards"===s,onClick:()=>t("cards"),children:(0,n.jsx)(c.T,{k:"btn.grid",en:l.UI.radar.viewGrid})}),(0,n.jsx)("button",{type:"button",className:"rows"===s?"on":"","aria-pressed":"rows"===s,onClick:()=>t("rows"),children:(0,n.jsx)(c.T,{k:"btn.rows",en:l.UI.radar.viewRows})})]})}function m(e){let{tabs:s,active:t,onChange:a,label:i,vertical:l}=e;return(0,n.jsx)("div",{className:"tabs".concat(l?" tabs-v":""),role:"tablist","aria-orientation":l?"vertical":void 0,"aria-label":i,children:s.map(e=>(0,n.jsxs)("button",{type:"button",role:"tab",id:"tab-".concat(e.id),className:e.id===t?"on":"","aria-selected":e.id===t,"aria-controls":"panel-".concat(e.id),onClick:()=>a(e.id),children:[e.label,void 0!==e.count&&(0,n.jsx)("span",{className:"tabn",children:e.count})]},e.id))})}},2802:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>v});var n=t(5155),a=t(2115),i=t(7064),l=t(4097),c=t(639),r=t(9712),d=t(2613),o=t(7e3),h=t(436),u=t(5310),m=t(1551),g=t(3034),p=t(3364),b=t(8706),j=t(797);let x=[1,6,24];function v(){var e,s,t;let v=(0,c.x)(),w=(0,m.$c)(null==(e=v.cfg)?void 0:e.lang),y=(e,s)=>(0,m.tr)(w,e,s),f=(0,u.qN)(w),{cfg:k}=v,[N,I]=(0,a.useState)("watching"),[U,S]=(0,a.useState)(!1),[L,T]=(0,a.useState)(null),[C,A]=(0,a.useState)(!1),[H,E]=(0,a.useState)(!1),[D,P]=(0,a.useState)("3"),[R,O]=(0,a.useState)(!1),[W,B]=(0,a.useState)(!1),[F,V]=(0,a.useState)(null),[_,q]=(0,a.useState)(null),[M,z]=(0,a.useState)(null),G=null!=(s=null==k?void 0:k.scanIntervalHours)?s:24,Y=H||!x.includes(G)?"custom":String(G),Z=async e=>{if("custom"===e){E(!0),z(null),P(String(G));return}E(!1),z(null),S(!0),await v.post({action:"setScanInterval",hours:Number(e)}),S(!1)},K=async()=>{let e=Number(D);if(""===D.trim()||!Number.isFinite(e)||e<1||e>24)return void z(y("settings.customBad",h.UI.settings.customBad));S(!0),z(null);let s=await v.post({action:"setScanInterval",hours:e});if(S(!1),!s.ok){var t;z(null!=(t=s.message)?t:h.UI.common.somethingWrong);return}E(!1)},$=v.watching,J=async e=>{S(!0),V(null);let s=await v.post({action:"addRoot",path:e});if(S(!1),!s.ok){var t;V(null!=(t=s.message)?t:h.UI.common.somethingWrong);return}B(!1),v.refresh(!0)},[Q,X]=(0,a.useState)([]),ee=async e=>{S(!0),V(null);let s=await v.post({action:"removeRoot",path:e});if(S(!1),!s.ok){var t;V(null!=(t=s.message)?t:h.UI.common.somethingWrong);return}v.resolveRow(e),X(s=>s.includes(e)?s:[...s,e])},es=async e=>{let s=await v.post({action:"addRoot",path:e});return s.ok&&(v.unresolveRow(e),X(s=>s.filter(s=>s!==e))),s},et=null!=(t=null==k?void 0:k.rules)?t:{exclude:[],muted:[]},en=async e=>{var s;S(!0),q(null);let t=await v.post({action:"addExclude",path:e});S(!1),t.ok?v.refresh(!0):q(null!=(s=t.message)?s:h.UI.common.somethingWrong)},ea=async e=>{S(!0),q(null);let s=await v.post({action:"removeExclude",path:e});if(S(!1),!s.ok){var t;q(null!=(t=s.message)?t:h.UI.common.somethingWrong);return}v.refresh(!0)},ei=async(e,s)=>{T(e),q(null),await v.post({action:s?"unmuteDetector":"muteDetector",id:e}),T(null),v.refresh(!1)},el=(null==k?void 0:k.updateCheck)!==!1,ec=async()=>{A(!0),await v.post({action:"setUpdateCheck",on:!el}),A(!1)},[er,ed]=(0,a.useState)(!1),eo=(null==k?void 0:k.domainLookup)===!0,eh=async()=>{ed(!0),await v.post({action:"setDomainLookup",on:!eo}),ed(!1)},eu=(null==k?void 0:k.standingWatch)===!0,[em,eg]=(0,a.useState)(!1),ep=async()=>{eg(!0),await v.post({action:"setStandingWatch",on:!eu}),eg(!1)},eb=v.startup,ej=null==eb?void 0:eb.state,ex="Enabled"===ej||"EnabledByPolicy"===ej,ev="DisabledByUser"===ej,ew="DisabledByPolicy"===ej,ey="EnabledByPolicy"===ej,ef=!!(null==eb?void 0:eb.available),[ek,eN]=(0,a.useState)(!1),eI=async()=>{eN(!0),await v.post({action:"setStartup",on:!ex}),eN(!1)},eU=(null==k?void 0:k.lang)==="ar"?"ar":"en",eS=async e=>{S(!0),await v.post({action:"setLang",lang:"ar"===e?"ar":"en"}),await v.refresh(!1),S(!1)},eL=(null==k?void 0:k.views.projects)==="rows"&&(null==k?void 0:k.views.urls)==="rows"?"rows":"cards",eT=async e=>{S(!0),await v.post({action:"setView",section:"projects",view:"rows"===e?"rows":null}),await v.post({action:"setView",section:"urls",view:"rows"===e?"rows":null}),S(!1)};return(0,n.jsxs)(i.Ay,{active:"/settings",cockpit:v,children:[(0,n.jsxs)("div",{className:"pagebar",children:[(0,n.jsx)("h1",{children:(0,n.jsx)(u.T,{k:"settings.title",en:h.UI.settings.title})}),(0,n.jsx)("span",{className:"purpose",children:(0,n.jsx)(u.T,{k:"settings.purpose",en:h.UI.settings.purpose})})]}),(0,n.jsxs)("div",{className:"settings-shell",children:[(0,n.jsx)(d.tU,{vertical:!0,label:y("settings.title",h.UI.settings.title),active:N,onChange:I,tabs:[{id:"watching",label:(0,n.jsx)(u.T,{k:"settings.secWatching",en:h.UI.settings.secWatching})},{id:"looking",label:(0,n.jsx)(u.T,{k:"settings.secScan",en:h.UI.settings.secLooking})},{id:"appearance",label:(0,n.jsx)(u.T,{k:"settings.secLook",en:h.UI.settings.secAppearance})},{id:"rules",label:(0,n.jsx)(u.T,{k:"settings.secRules",en:h.UI.settings.secRules})},{id:"data",label:(0,n.jsx)(u.T,{k:"settings.secData",en:h.UI.settings.secData})},{id:"how",label:(0,n.jsx)(u.T,{k:"settings.secHow",en:h.UI.settings.secHow})}]}),(0,n.jsxs)("div",{className:"settings-panel",children:["looking"===N&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"sec",children:(0,n.jsx)("h2",{children:(0,n.jsx)(u.T,{k:"settings.secScan",en:h.UI.settings.secLooking})})}),(0,n.jsxs)("div",{className:"set",children:[(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:y("settings.cadenceLabel",h.UI.settings.cadenceLabel)}),(0,n.jsx)("span",{children:y("settings.cadenceHelp",h.UI.settings.cadenceHelp)})]}),(0,n.jsx)("div",{className:"ctl",children:(0,n.jsxs)("select",{className:"in",value:Y,disabled:U,onChange:e=>Z(e.target.value),"aria-label":y("settings.cadenceAria",h.UI.settings.cadenceAria),children:[(0,n.jsx)("option",{value:"1",children:y("settings.cadenceHourly",h.UI.settings.cadenceHourly)}),(0,n.jsx)("option",{value:"6",children:y("settings.cadence6h",h.UI.settings.cadence6h)}),(0,n.jsx)("option",{value:"24",children:y("settings.cadenceDaily",h.UI.settings.cadenceDaily)}),(0,n.jsx)("option",{value:"custom",children:y("settings.cadenceCustom",h.UI.settings.cadenceCustom)})]})})]}),H&&(0,n.jsxs)("div",{className:"set",children:[(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:y("settings.customLabel",h.UI.settings.customLabel)}),(0,n.jsx)("span",{children:y("settings.customHelp",h.UI.settings.customHelp)}),M&&(0,n.jsx)("span",{className:"error-line",children:M})]}),(0,n.jsxs)("div",{className:"ctl",children:[(0,n.jsx)("input",{className:"in",type:"number",min:1,max:24,style:{inlineSize:70},value:D,onChange:e=>{P(e.target.value),z(null)},"aria-label":y("settings.hoursAria",h.UI.settings.hoursAria)}),(0,n.jsx)("button",{className:"b",disabled:U,onClick:K,children:(0,n.jsx)(u.T,{k:"btn.save",en:h.UI.common.save})})]})]})]}),"appearance"===N&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"sec",children:(0,n.jsx)("h2",{children:(0,n.jsx)(u.T,{k:"settings.secLook",en:h.UI.settings.secAppearance})})}),(0,n.jsxs)("div",{className:"set",children:[(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:y("settings.viewLabel",h.UI.settings.viewLabel)}),(0,n.jsx)("span",{children:y("settings.viewHelp",h.UI.settings.viewHelp)})]}),(0,n.jsx)("div",{className:"ctl",children:(0,n.jsxs)("select",{className:"in",value:eL,disabled:U,onChange:e=>eT(e.target.value),"aria-label":y("settings.viewAria",h.UI.settings.viewAria),children:[(0,n.jsx)("option",{value:"cards",children:y("btn.grid",h.UI.settings.viewCards)}),(0,n.jsx)("option",{value:"rows",children:y("btn.rows",h.UI.settings.viewRows)})]})})]}),(0,n.jsxs)("div",{className:"set",children:[(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:(0,n.jsx)(u.T,{k:"settings.lang",en:h.UI.settings.langLabel})}),(0,n.jsx)("span",{dir:"auto",children:y("settings.langHelp",h.UI.settings.langHelp)})]}),(0,n.jsx)("div",{className:"ctl",children:(0,n.jsxs)("select",{className:"in",value:eU,disabled:U,dir:"auto",onChange:e=>eS(e.target.value),"aria-label":y("settings.langAria",h.UI.settings.langAria),children:[(0,n.jsx)("option",{value:"en",children:y("settings.langEn",h.UI.settings.langEn)}),(0,n.jsx)("option",{value:"ar",children:y("settings.langAr",h.UI.settings.langAr)})]})})]})]}),"watching"===N&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"sec",children:(0,n.jsx)("h2",{children:(0,n.jsx)(u.T,{k:"settings.secWatching",en:h.UI.settings.secWatching})})}),(0,n.jsxs)("div",{className:"set",children:[(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:y("settings.watchLabel",h.UI.settings.watchLabel)}),(0,n.jsx)("span",{children:y("settings.watchHelp",h.UI.settings.watchHelp)})]}),(0,n.jsx)("div",{className:"ctl",children:(0,n.jsxs)("button",{className:"swt".concat(eu?" on":""),role:"switch","aria-checked":eu,"aria-label":y("settings.watchAria",h.UI.settings.watchAria),disabled:em,onClick:ep,children:[(0,n.jsx)("i",{"aria-hidden":!0}),(0,n.jsx)("span",{children:eu?(0,n.jsx)(u.T,{k:"settings.on",en:h.UI.settings.on}):(0,n.jsx)(u.T,{k:"settings.off",en:h.UI.settings.off})})]})})]}),ef&&(0,n.jsxs)("div",{className:"set",children:[(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:y("settings.startupLabel",h.UI.settings.startupLabel)}),(0,n.jsx)("span",{children:ew?y("settings.startupPolicyOff",h.UI.settings.startupPolicyOff):ey?y("settings.startupPolicyOn",h.UI.settings.startupPolicyOn):ev?y("settings.startupBlocked",h.UI.settings.startupBlocked):y("settings.startupHelp",h.UI.settings.startupHelp)})]}),(0,n.jsx)("div",{className:"ctl",children:!ev&&!(ew||ey)&&(0,n.jsxs)("button",{className:"swt".concat(ex?" on":""),role:"switch","aria-checked":ex,"aria-label":y("settings.startupAria",h.UI.settings.startupAria),disabled:ek,onClick:eI,children:[(0,n.jsx)("i",{"aria-hidden":!0}),(0,n.jsx)("span",{children:ex?(0,n.jsx)(u.T,{k:"settings.on",en:h.UI.settings.on}):(0,n.jsx)(u.T,{k:"settings.off",en:h.UI.settings.off})})]})})]}),(0,n.jsx)("div",{className:"set",style:{alignItems:"flex-start"},children:(0,n.jsxs)("div",{className:"lbl",style:{flex:1},children:[(0,n.jsx)("b",{children:y("settings.watchingHelp",h.UI.settings.watchingHelp)}),0===$.folders.length&&0===Q.length?(0,n.jsx)("span",{children:y("settings.watchingEmpty",h.UI.settings.watchingEmpty)}):(0,n.jsxs)("div",{className:"rule-list",children:[$.folders.map(e=>(0,n.jsxs)("div",{className:"rule-row",children:[(0,n.jsx)("span",{className:"path",children:(0,n.jsx)(g.B,{children:(0,o.oV)(e.path,44)})}),(0,n.jsxs)("span",{className:"rule-why",children:[(0,n.jsx)(g.V,{n:e.projects})," ",1===e.projects?y("settings.watchingProject",h.UI.settings.watchingProject):y("settings.watchingProjects",h.UI.settings.watchingProjects)]}),(0,n.jsx)("button",{className:"b2 q",disabled:U,onClick:()=>ee(e.path),children:y("settings.stopWatching",h.UI.settings.stopWatching)})]},e.path)),Q.map(e=>(0,n.jsx)(p.j,{className:"rule-row gone",what:(0,b.ph)("settings.watchStopped",h.UI.settings.watchStopped,(0,o.oV)(e,44)),onUndo:()=>es(e)},e)),$.unclaimed>0&&(0,n.jsx)("div",{className:"rule-row",children:(0,n.jsxs)("span",{className:"rule-why",children:[(0,n.jsx)(g.V,{n:$.unclaimed})," ",1===$.unclaimed?y("settings.watchingProject",h.UI.settings.watchingProject):y("settings.watchingProjects",h.UI.settings.watchingProjects)," ",y("settings.watchingUnclaimed",h.UI.settings.watchingUnclaimed)]})})]}),W?(0,n.jsxs)("div",{style:{marginBlockStart:8},children:[(0,n.jsx)(l.A,{watched:[],onChanged:()=>{},pick:{label:y("settings.watchingPick",h.UI.settings.watchingPick),onPick:J,already:$.folders.map(e=>e.path),alreadyLabel:y("settings.watchingAlready",h.UI.settings.watchingAlready)}}),(0,n.jsx)("div",{className:"setup-actions",style:{justifyContent:"flex-start",marginBlockStart:6},children:(0,n.jsx)("button",{className:"b2 q",onClick:()=>B(!1),children:(0,n.jsx)(u.T,{k:"btn.done",en:h.UI.common.done})})})]}):(0,n.jsx)("div",{style:{marginBlockStart:8},children:(0,n.jsx)("button",{className:"b",onClick:()=>B(!0),children:y("settings.watchingAdd",h.UI.settings.watchingAdd)})}),F&&(0,n.jsx)("span",{className:"error-line",children:F})]})})]}),"rules"===N&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"sec",children:[(0,n.jsx)("h2",{children:(0,n.jsx)(u.T,{k:"settings.secRules",en:h.UI.settings.secRules})}),(0,n.jsx)("span",{className:"meta",children:y("settings.rulesMeta",h.UI.settings.rulesMeta)})]}),(0,n.jsx)("div",{className:"set",style:{alignItems:"flex-start"},children:(0,n.jsxs)("div",{className:"lbl",style:{flex:1},children:[(0,n.jsx)("b",{children:y("settings.excludeLabel",h.UI.settings.excludeLabel)}),(0,n.jsx)("span",{children:y("settings.excludeHelp",h.UI.settings.excludeHelp)}),et.exclude.length>0&&(0,n.jsx)("div",{className:"rule-list",children:et.exclude.map(e=>(0,n.jsxs)("div",{className:"rule-row",children:[(0,n.jsx)("span",{className:"path",children:(0,o.oV)(e,52)}),(0,n.jsx)("button",{className:"b2 q",disabled:U,onClick:()=>ea(e),children:(0,n.jsx)(u.T,{k:"btn.remove",en:h.UI.common.remove})})]},e))}),R?(0,n.jsxs)("div",{style:{marginBlockStart:8},children:[(0,n.jsx)(l.A,{watched:[],onChanged:()=>{},pick:{label:y("settings.excludePick",h.UI.settings.excludePick),onPick:en,already:et.exclude,alreadyLabel:y("settings.alreadyExcluded",h.UI.settings.alreadyExcluded)}}),(0,n.jsx)("div",{className:"setup-actions",style:{justifyContent:"flex-start",marginBlockStart:6},children:(0,n.jsx)("button",{className:"b2 q",onClick:()=>O(!1),children:(0,n.jsx)(u.T,{k:"btn.done",en:h.UI.common.done})})})]}):(0,n.jsx)("div",{style:{marginBlockStart:8},children:(0,n.jsx)("button",{className:"b",...(0,j.uN)(f.chooseExclude),onClick:()=>O(!0),children:y("settings.chooseFolder",h.UI.settings.chooseFolder)})}),_&&(0,n.jsx)("span",{className:"error-line",children:_})]})})]}),"data"===N&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"sec",children:(0,n.jsx)("h2",{children:(0,n.jsx)(u.T,{k:"settings.secData",en:h.UI.settings.secData})})}),(0,n.jsxs)("div",{className:"set",children:[(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:h.UI.firstLight.termsName}),(0,n.jsx)("span",{children:y("settings.documentsHelp",h.UI.settings.documentsHelp)})]}),(0,n.jsx)("div",{className:"ctl",children:(0,n.jsx)("a",{className:"btn",href:"/legal/terms",children:y("settings.documentsOpen",h.UI.settings.documentsOpen)})})]}),(0,n.jsxs)("div",{className:"set",children:[(0,n.jsx)("div",{className:"lbl",children:(0,n.jsx)("b",{children:h.UI.firstLight.privacyName})}),(0,n.jsx)("div",{className:"ctl",children:(0,n.jsx)("a",{className:"btn",href:"/legal/privacy",children:y("settings.documentsOpen",h.UI.settings.documentsOpen)})})]}),(0,n.jsx)("div",{className:"set",children:(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:(0,n.jsx)(g.B,{mono:!0,children:h.UI.settings.dataLabel})}),(0,n.jsx)("span",{children:y("settings.dataHelp",h.UI.settings.dataHelp)})]})}),(0,n.jsxs)("div",{className:"set",children:[(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:y("settings.domainLabel",h.UI.settings.domainLabel)}),(0,n.jsx)("span",{children:y("settings.domainHelp",h.UI.settings.domainHelp)})]}),(0,n.jsx)("div",{className:"ctl",children:(0,n.jsxs)("button",{className:"swt".concat(eo?" on":""),role:"switch","aria-checked":eo,disabled:er,onClick:eh,children:[(0,n.jsx)("i",{"aria-hidden":!0}),(0,n.jsx)("span",{children:eo?(0,n.jsx)(u.T,{k:"settings.on",en:h.UI.settings.on}):(0,n.jsx)(u.T,{k:"settings.off",en:h.UI.settings.off})})]})})]}),(0,n.jsxs)("div",{className:"set",children:[(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:y("settings.updateLabel",h.UI.settings.updateLabel)}),(0,n.jsx)("span",{children:!0===v.packaged?y("settings.updatePackaged",h.UI.settings.updatePackaged):y("settings.updateHelp",h.UI.settings.updateHelp)})]}),!0===v.packaged?null:(0,n.jsx)("div",{className:"ctl",children:(0,n.jsxs)("button",{className:"swt".concat(el?" on":""),role:"switch","aria-checked":el,...(0,j.uN)(f.updateSwitch),disabled:C,onClick:ec,children:[(0,n.jsx)("i",{"aria-hidden":!0}),(0,n.jsx)("span",{children:el?(0,n.jsx)(u.T,{k:"settings.on",en:h.UI.settings.on}):(0,n.jsx)(u.T,{k:"settings.off",en:h.UI.settings.off})})]})})]})]}),"how"===N&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"sec",children:(0,n.jsx)("h2",{children:(0,n.jsx)(u.T,{k:"settings.secHow",en:h.UI.settings.secHow})})}),(0,n.jsx)("div",{className:"set",children:(0,n.jsx)("div",{className:"lbl",children:h.UI.settings.how.map((e,s)=>(0,n.jsx)("span",{children:y("settings.how".concat(s+1),e)},e))})}),(0,n.jsx)("div",{className:"set detectors",style:{alignItems:"flex-start"},children:(0,n.jsxs)("div",{className:"lbl",style:{flex:1},children:[(0,n.jsx)("b",{...(0,j.uN)(f.detectors),children:(0,n.jsx)(u.T,{k:"settings.secDetectors",en:h.UI.settings.muteLabel})}),(0,n.jsxs)("span",{children:[y("settings.muteHelp",h.UI.settings.muteHelp),et.muted.length>0?" ".concat(et.muted.length," muted."):""]}),["money","identity","time-capsule","safety","health","site"].map(e=>(0,n.jsxs)("div",{className:"rule-group",children:[(0,n.jsx)("span",{className:"rule-cat",children:(0,n.jsx)(u.T,{k:"cat.".concat(e),en:h.UI.settings.cat[e]})}),(0,n.jsx)("div",{className:"rule-rows",children:r.ZI.filter(s=>s.cat===e).map(e=>{let s=et.muted.includes(e.id);return(0,n.jsxs)("div",{className:"rule-row",...(0,j.uN)(e.blurb),children:[(0,n.jsx)("span",{className:"rule-name",children:e.name}),(0,n.jsxs)("button",{className:"swt".concat(s?"":" on"),role:"switch","aria-checked":!s,...(0,j.uN)(f.muteSwitch),disabled:L===e.id,onClick:()=>ei(e.id,s),children:[(0,n.jsx)("i",{"aria-hidden":!0}),(0,n.jsx)("span",{children:s?(0,n.jsx)(u.T,{k:"settings.muted",en:h.UI.settings.muted}):(0,n.jsx)(u.T,{k:"settings.running",en:h.UI.settings.running})})]})]},e.id)})})]},e))]})})]})]})]})]})}},3364:(e,s,t)=>{"use strict";t.d(s,{j:()=>c});var n=t(5155),a=t(2115),i=t(436),l=t(5310);function c(e){let{what:s,onUndo:t,className:c="tl gone"}=e,r=(0,l.kj)(),[d,o]=(0,a.useState)(!1),[h,u]=(0,a.useState)(null);return(0,n.jsxs)("div",{className:c,role:"status",children:[(0,n.jsx)("b",{children:(0,n.jsx)(l.P,{p:s})}),h&&(0,n.jsx)("span",{className:"error-line",children:h}),(0,n.jsx)("button",{className:"b2 q",disabled:d,onClick:async()=>{var e;o(!0),u(null);let s=await t();o(!1),s.ok||u(null!=(e=s.message)?e:r("common.somethingWrong",i.UI.common.somethingWrong))},children:(0,n.jsx)(l.T,{k:"common.undo",en:i.UI.common.undo})})]})}},9712:(e,s,t)=>{"use strict";t.d(s,{Sc:()=>a,ZI:()=>n});let n=[{id:"paid-sdk",cat:"money",name:"Paid services in dormant projects",blurb:"Projects you haven't opened in a month or more that still reference paid services"},{id:"cloud-config-stale",cat:"money",name:"Deploy configs with no recent work",blurb:"Deploy files (Vercel, Railway, Docker) in projects that stopped moving"},{id:"identity",cat:"identity",name:"Commit identity mismatches",blurb:"Projects committing as a different email than your global identity"},{id:"ssh-keys",cat:"identity",name:"SSH key inventory",blurb:"The keys living in your .ssh folder and how old they are"},{id:"unpushed",cat:"time-capsule",name:"Unpushed commits",blurb:"Commits that exist only on this machine"},{id:"no-remote",cat:"time-capsule",name:"Projects with no remote",blurb:"Projects whose only home is this disk"},{id:"no-upstream",cat:"time-capsule",name:"Branches that push nowhere",blurb:"Local branches with no upstream, so their commits stay on this machine"},{id:"no-git-folder",cat:"time-capsule",name:"Folders with no git at all",blurb:"Watched folders holding work that has no history and no copy elsewhere"},{id:"readme-stub",cat:"time-capsule",name:"README still a placeholder",blurb:"READMEs that still say TODO, with age"},{id:"todo-census",cat:"time-capsule",name:"TODO census",blurb:"TODOs across the estate, eldest quoted"},{id:"abandoned-branches",cat:"time-capsule",name:"Abandoned branches",blurb:"Branches untouched for six months or more"},{id:"anniversary",cat:"time-capsule",name:"Project anniversaries",blurb:"First-commit birthdays coming up"},{id:"inventory-burst",cat:"time-capsule",name:"Large deletions and change bursts",blurb:"Watched folders that lost a lot of files, or had a lot of them change, since the last look"},{id:"file-gone",cat:"time-capsule",name:"Files that disappeared",blurb:"Files that were there last time and are not now, with the command to bring back the ones git still holds"},{id:"agent-effects",cat:"time-capsule",name:"Changes while an agent was connected",blurb:"Files that changed or went missing in a window that overlapped an agent's questions - af360 cannot tell whose edits they were"},{id:"sync-folder",cat:"safety",name:"Repos inside sync folders",blurb:"Git repos living inside OneDrive, Dropbox or Google Drive"},{id:"history-secrets",cat:"safety",name:"Key-shaped strings in git history",blurb:"Access-key-shaped strings in the history of publicly-remoted repos"},{id:"gitignore-gaps",cat:"safety",name:".gitignore gaps",blurb:"Repos tracking node_modules, .env or build output"},{id:"dev-server-exposed",cat:"safety",name:"Dev server open to the network",blurb:"Dev scripts binding 0.0.0.0 instead of localhost"},{id:"install-scripts",cat:"safety",name:"Dependencies with install scripts",blurb:"Dependencies that run their own code at install time, named"},{id:"dep-uncommitted",cat:"safety",name:"Installs git has not recorded",blurb:"Dependency lists that changed on disk and have not been committed"},{id:"unbacked-ignored",cat:"safety",name:"Ignored files in a project with no remote",blurb:"Environment files, databases and upload folders git ignores, in projects with nowhere to push"},{id:"node-modules",cat:"health",name:"node_modules weight",blurb:"What your node_modules folders weigh and what dormancy would give back"},{id:"build-artifacts",cat:"health",name:"Build-artifact graveyards",blurb:"Old .next, dist and build folders with sizes"},{id:"runtime-eol",cat:"health",name:"Runtime end of life",blurb:"Your Node.js version against its published support dates"},{id:"disk-weight",cat:"health",name:"Tool caches",blurb:"What the caches other tools leave behind are weighing, not counting node_modules or build folders"},{id:"runtime-census",cat:"health",name:"Runtime census",blurb:"Projects asking for a Node version this machine is not running"},{id:"repo-front-door",cat:"health",name:"README and licence",blurb:"Repositories with a remote that carry neither"},{id:"dep-versions",cat:"health",name:"Same dependency, many versions",blurb:"One dependency installed at several versions across the estate, with sizes"},{id:"dep-arrivals",cat:"health",name:"Dependency arrivals",blurb:"What joined your dependency lists, and the date the project recorded it"},{id:"estate-stats",cat:"health",name:"Estate line count",blurb:"Lines of code and language map - the pride stat"},{id:"duplicate-downloads",cat:"health",name:"Downloads sharing a project's name",blurb:"Downloaded folders whose name matches a project you already have, with sizes"},{id:"deploy-sites",cat:"site",name:"Addresses your projects deploy to",blurb:"Hostnames named by deploy configs in your own repos, offered for watching"},{id:"og-preview",cat:"site",name:"Social share preview",blurb:"The card WhatsApp and LinkedIn render when your link is shared"},{id:"security-headers",cat:"site",name:"Security headers",blurb:"Protective headers your site does or doesn't send"},{id:"mixed-content",cat:"site",name:"Mixed content",blurb:"Secure pages loading pieces over plain http"},{id:"redirect-chain",cat:"site",name:"Redirect chain and www",blurb:"How many hops a visit takes, and whether www agrees with the bare domain"},{id:"robots-blocking",cat:"site",name:"robots.txt blocking all",blurb:"A robots.txt turning every search engine away"},{id:"sitemap-missing",cat:"site",name:"Sitemap missing",blurb:"No sitemap for search engines to read"},{id:"dns-watch",cat:"site",name:"DNS snapshot and changes",blurb:"Your domain's DNS records, and any change since last look"}],a=e=>{var s;return null==(s=n.find(s=>s.id===e))?void 0:s.blurb}}},e=>{e.O(0,[3192,1681,4097,8441,1255,7358],()=>e(e.s=1823)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4662],{1823:(e,s,t)=>{Promise.resolve().then(t.bind(t,2802))},2613:(e,s,t)=>{"use strict";t.d(s,{fn:()=>u,hf:()=>h,ob:()=>o,tU:()=>m});var n=t(5155),a=t(2115),i=t(7650),l=t(436),c=t(5310),r=t(3034),d=t(797);function o(e){let{actions:s,label:t}=e,[r,o]=(0,a.useState)(!1),[h,u]=(0,a.useState)(null),m=(0,a.useRef)(null),g=(0,a.useRef)(null),p=(0,a.useId)(),b=(0,c.kj)(),j=(0,c.cO)(),x=(0,a.useCallback)(()=>{var e,s,t;let n=null==(e=m.current)?void 0:e.firstElementChild;if(!n)return;let a=n.getBoundingClientRect(),i=null!=(t=null==(s=g.current)?void 0:s.offsetHeight)?t:0,l=window.innerHeight-a.bottom,c=i>0&&l<i+8&&a.top>l;u({top:c?a.top-i-4:a.bottom+4,end:Math.max(4,window.innerWidth-a.right),flip:c})},[]);return((0,a.useLayoutEffect)(()=>{r&&x()},[r,x]),(0,a.useEffect)(()=>{if(!r)return;let e=e=>{var s,t;let n=e.target;(null==(s=m.current)?void 0:s.contains(n))||(null==(t=g.current)?void 0:t.contains(n))||o(!1)},s=e=>{"Escape"===e.key&&o(!1)},t=()=>x();return document.addEventListener("mousedown",e),document.addEventListener("keydown",s),window.addEventListener("scroll",t,!0),window.addEventListener("resize",t),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("keydown",s),window.removeEventListener("scroll",t,!0),window.removeEventListener("resize",t)}},[r,x]),0===s.length)?null:(0,n.jsxs)("div",{className:"ovf",ref:m,children:[(0,n.jsxs)("button",{className:"ovf-btn",type:"button","aria-haspopup":"menu","aria-expanded":r,"aria-controls":p,...(0,d.uN)(j.moreActions),onClick:()=>o(e=>!e),children:[(0,n.jsx)(c.T,{k:"btn.more",en:null!=t?t:l.UI.radar.moreActions})," ",(0,n.jsx)("span",{"aria-hidden":!0,children:"▾"})]}),r&&"undefined"!=typeof document&&(0,i.createPortal)((0,n.jsx)("div",{className:"ovf-menu",id:p,role:"menu",ref:g,"aria-label":b("act.moreAria",l.UI.radar.moreActionsAria),style:h?{insetBlockStart:h.top,insetInlineEnd:h.end}:{visibility:"hidden"},children:s.map(e=>(0,n.jsxs)("button",{role:"menuitem",type:"button",...(0,d.uN)(e.title),className:e.danger?"danger":void 0,onClick:()=>{o(!1),e.onClick()},children:[e.label,e.effect&&(0,n.jsx)("span",{children:e.effect})]},e.label))}),document.body)]})}function h(e){let{done:s,total:t,working:a}=e,i=(0,c.kj)();(0,c.cO)();let d="ar"===(0,c.uU)();return t>0&&s<t?(0,n.jsxs)("div",{className:"streamline",role:"status","aria-live":"polite",children:[(0,n.jsx)("i",{"aria-hidden":!0}),d?(0,n.jsxs)(n.Fragment,{children:[i("stream.countingLead","")," ",(0,n.jsx)(r.V,{n:s})," ",i("stream.countingMid","")," ",(0,n.jsx)(r.V,{n:t})," ",i("stream.countingTail","")]}):l.UI.stream.counting(s,t)]}):a?(0,n.jsxs)("div",{className:"streamline",role:"status","aria-live":"polite",children:[(0,n.jsx)("i",{"aria-hidden":!0}),i("stream.starting",l.UI.stream.starting)]}):null}function u(e){let{view:s,onChange:t}=e,a=(0,c.kj)();return(0,c.cO)(),(0,n.jsxs)("div",{className:"viewseg",role:"group","aria-label":a("radar.viewAria",l.UI.radar.viewAria),children:[(0,n.jsx)("button",{type:"button",className:"cards"===s?"on":"","aria-pressed":"cards"===s,onClick:()=>t("cards"),children:(0,n.jsx)(c.T,{k:"btn.grid",en:l.UI.radar.viewGrid})}),(0,n.jsx)("button",{type:"button",className:"rows"===s?"on":"","aria-pressed":"rows"===s,onClick:()=>t("rows"),children:(0,n.jsx)(c.T,{k:"btn.rows",en:l.UI.radar.viewRows})})]})}function m(e){let{tabs:s,active:t,onChange:a,label:i,vertical:l}=e;return(0,n.jsx)("div",{className:"tabs".concat(l?" tabs-v":""),role:"tablist","aria-orientation":l?"vertical":void 0,"aria-label":i,children:s.map(e=>(0,n.jsxs)("button",{type:"button",role:"tab",id:"tab-".concat(e.id),className:e.id===t?"on":"","aria-selected":e.id===t,"aria-controls":"panel-".concat(e.id),onClick:()=>a(e.id),children:[e.label,void 0!==e.count&&(0,n.jsx)("span",{className:"tabn",children:e.count})]},e.id))})}},2802:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>v});var n=t(5155),a=t(2115),i=t(7406),l=t(4097),c=t(639),r=t(9712),d=t(2613),o=t(7e3),h=t(436),u=t(5310),m=t(1551),g=t(3034),p=t(3364),b=t(8706),j=t(797);let x=[1,6,24];function v(){var e,s,t;let v=(0,c.x)(),w=(0,m.$c)(null==(e=v.cfg)?void 0:e.lang),y=(e,s)=>(0,m.tr)(w,e,s),f=(0,u.qN)(w),{cfg:k}=v,[N,I]=(0,a.useState)("watching"),[U,S]=(0,a.useState)(!1),[L,T]=(0,a.useState)(null),[C,A]=(0,a.useState)(!1),[H,E]=(0,a.useState)(!1),[D,P]=(0,a.useState)("3"),[R,O]=(0,a.useState)(!1),[W,B]=(0,a.useState)(!1),[F,V]=(0,a.useState)(null),[_,q]=(0,a.useState)(null),[M,z]=(0,a.useState)(null),G=null!=(s=null==k?void 0:k.scanIntervalHours)?s:24,Y=H||!x.includes(G)?"custom":String(G),Z=async e=>{if("custom"===e){E(!0),z(null),P(String(G));return}E(!1),z(null),S(!0),await v.post({action:"setScanInterval",hours:Number(e)}),S(!1)},K=async()=>{let e=Number(D);if(""===D.trim()||!Number.isFinite(e)||e<1||e>24)return void z(y("settings.customBad",h.UI.settings.customBad));S(!0),z(null);let s=await v.post({action:"setScanInterval",hours:e});if(S(!1),!s.ok){var t;z(null!=(t=s.message)?t:h.UI.common.somethingWrong);return}E(!1)},$=v.watching,J=async e=>{S(!0),V(null);let s=await v.post({action:"addRoot",path:e});if(S(!1),!s.ok){var t;V(null!=(t=s.message)?t:h.UI.common.somethingWrong);return}B(!1),v.refresh(!0)},[Q,X]=(0,a.useState)([]),ee=async e=>{S(!0),V(null);let s=await v.post({action:"removeRoot",path:e});if(S(!1),!s.ok){var t;V(null!=(t=s.message)?t:h.UI.common.somethingWrong);return}v.resolveRow(e),X(s=>s.includes(e)?s:[...s,e])},es=async e=>{let s=await v.post({action:"addRoot",path:e});return s.ok&&(v.unresolveRow(e),X(s=>s.filter(s=>s!==e))),s},et=null!=(t=null==k?void 0:k.rules)?t:{exclude:[],muted:[]},en=async e=>{var s;S(!0),q(null);let t=await v.post({action:"addExclude",path:e});S(!1),t.ok?v.refresh(!0):q(null!=(s=t.message)?s:h.UI.common.somethingWrong)},ea=async e=>{S(!0),q(null);let s=await v.post({action:"removeExclude",path:e});if(S(!1),!s.ok){var t;q(null!=(t=s.message)?t:h.UI.common.somethingWrong);return}v.refresh(!0)},ei=async(e,s)=>{T(e),q(null),await v.post({action:s?"unmuteDetector":"muteDetector",id:e}),T(null),v.refresh(!1)},el=(null==k?void 0:k.updateCheck)!==!1,ec=async()=>{A(!0),await v.post({action:"setUpdateCheck",on:!el}),A(!1)},[er,ed]=(0,a.useState)(!1),eo=(null==k?void 0:k.domainLookup)===!0,eh=async()=>{ed(!0),await v.post({action:"setDomainLookup",on:!eo}),ed(!1)},eu=(null==k?void 0:k.standingWatch)===!0,[em,eg]=(0,a.useState)(!1),ep=async()=>{eg(!0),await v.post({action:"setStandingWatch",on:!eu}),eg(!1)},eb=v.startup,ej=null==eb?void 0:eb.state,ex="Enabled"===ej||"EnabledByPolicy"===ej,ev="DisabledByUser"===ej,ew="DisabledByPolicy"===ej,ey="EnabledByPolicy"===ej,ef=!!(null==eb?void 0:eb.available),[ek,eN]=(0,a.useState)(!1),eI=async()=>{eN(!0),await v.post({action:"setStartup",on:!ex}),eN(!1)},eU=(null==k?void 0:k.lang)==="ar"?"ar":"en",eS=async e=>{S(!0),await v.post({action:"setLang",lang:"ar"===e?"ar":"en"}),await v.refresh(!1),S(!1)},eL=(null==k?void 0:k.views.projects)==="rows"&&(null==k?void 0:k.views.urls)==="rows"?"rows":"cards",eT=async e=>{S(!0),await v.post({action:"setView",section:"projects",view:"rows"===e?"rows":null}),await v.post({action:"setView",section:"urls",view:"rows"===e?"rows":null}),S(!1)};return(0,n.jsxs)(i.Ay,{active:"/settings",cockpit:v,children:[(0,n.jsxs)("div",{className:"pagebar",children:[(0,n.jsx)("h1",{children:(0,n.jsx)(u.T,{k:"settings.title",en:h.UI.settings.title})}),(0,n.jsx)("span",{className:"purpose",children:(0,n.jsx)(u.T,{k:"settings.purpose",en:h.UI.settings.purpose})})]}),(0,n.jsxs)("div",{className:"settings-shell",children:[(0,n.jsx)(d.tU,{vertical:!0,label:y("settings.title",h.UI.settings.title),active:N,onChange:I,tabs:[{id:"watching",label:(0,n.jsx)(u.T,{k:"settings.secWatching",en:h.UI.settings.secWatching})},{id:"looking",label:(0,n.jsx)(u.T,{k:"settings.secScan",en:h.UI.settings.secLooking})},{id:"appearance",label:(0,n.jsx)(u.T,{k:"settings.secLook",en:h.UI.settings.secAppearance})},{id:"rules",label:(0,n.jsx)(u.T,{k:"settings.secRules",en:h.UI.settings.secRules})},{id:"data",label:(0,n.jsx)(u.T,{k:"settings.secData",en:h.UI.settings.secData})},{id:"how",label:(0,n.jsx)(u.T,{k:"settings.secHow",en:h.UI.settings.secHow})}]}),(0,n.jsxs)("div",{className:"settings-panel",children:["looking"===N&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"sec",children:(0,n.jsx)("h2",{children:(0,n.jsx)(u.T,{k:"settings.secScan",en:h.UI.settings.secLooking})})}),(0,n.jsxs)("div",{className:"set",children:[(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:y("settings.cadenceLabel",h.UI.settings.cadenceLabel)}),(0,n.jsx)("span",{children:y("settings.cadenceHelp",h.UI.settings.cadenceHelp)})]}),(0,n.jsx)("div",{className:"ctl",children:(0,n.jsxs)("select",{className:"in",value:Y,disabled:U,onChange:e=>Z(e.target.value),"aria-label":y("settings.cadenceAria",h.UI.settings.cadenceAria),children:[(0,n.jsx)("option",{value:"1",children:y("settings.cadenceHourly",h.UI.settings.cadenceHourly)}),(0,n.jsx)("option",{value:"6",children:y("settings.cadence6h",h.UI.settings.cadence6h)}),(0,n.jsx)("option",{value:"24",children:y("settings.cadenceDaily",h.UI.settings.cadenceDaily)}),(0,n.jsx)("option",{value:"custom",children:y("settings.cadenceCustom",h.UI.settings.cadenceCustom)})]})})]}),H&&(0,n.jsxs)("div",{className:"set",children:[(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:y("settings.customLabel",h.UI.settings.customLabel)}),(0,n.jsx)("span",{children:y("settings.customHelp",h.UI.settings.customHelp)}),M&&(0,n.jsx)("span",{className:"error-line",children:M})]}),(0,n.jsxs)("div",{className:"ctl",children:[(0,n.jsx)("input",{className:"in",type:"number",min:1,max:24,style:{inlineSize:70},value:D,onChange:e=>{P(e.target.value),z(null)},"aria-label":y("settings.hoursAria",h.UI.settings.hoursAria)}),(0,n.jsx)("button",{className:"b",disabled:U,onClick:K,children:(0,n.jsx)(u.T,{k:"btn.save",en:h.UI.common.save})})]})]})]}),"appearance"===N&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"sec",children:(0,n.jsx)("h2",{children:(0,n.jsx)(u.T,{k:"settings.secLook",en:h.UI.settings.secAppearance})})}),(0,n.jsxs)("div",{className:"set",children:[(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:y("settings.viewLabel",h.UI.settings.viewLabel)}),(0,n.jsx)("span",{children:y("settings.viewHelp",h.UI.settings.viewHelp)})]}),(0,n.jsx)("div",{className:"ctl",children:(0,n.jsxs)("select",{className:"in",value:eL,disabled:U,onChange:e=>eT(e.target.value),"aria-label":y("settings.viewAria",h.UI.settings.viewAria),children:[(0,n.jsx)("option",{value:"cards",children:y("btn.grid",h.UI.settings.viewCards)}),(0,n.jsx)("option",{value:"rows",children:y("btn.rows",h.UI.settings.viewRows)})]})})]}),(0,n.jsxs)("div",{className:"set",children:[(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:(0,n.jsx)(u.T,{k:"settings.lang",en:h.UI.settings.langLabel})}),(0,n.jsx)("span",{dir:"auto",children:y("settings.langHelp",h.UI.settings.langHelp)})]}),(0,n.jsx)("div",{className:"ctl",children:(0,n.jsxs)("select",{className:"in",value:eU,disabled:U,dir:"auto",onChange:e=>eS(e.target.value),"aria-label":y("settings.langAria",h.UI.settings.langAria),children:[(0,n.jsx)("option",{value:"en",children:y("settings.langEn",h.UI.settings.langEn)}),(0,n.jsx)("option",{value:"ar",children:y("settings.langAr",h.UI.settings.langAr)})]})})]})]}),"watching"===N&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"sec",children:(0,n.jsx)("h2",{children:(0,n.jsx)(u.T,{k:"settings.secWatching",en:h.UI.settings.secWatching})})}),(0,n.jsxs)("div",{className:"set",children:[(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:y("settings.watchLabel",h.UI.settings.watchLabel)}),(0,n.jsx)("span",{children:y("settings.watchHelp",h.UI.settings.watchHelp)})]}),(0,n.jsx)("div",{className:"ctl",children:(0,n.jsxs)("button",{className:"swt".concat(eu?" on":""),role:"switch","aria-checked":eu,"aria-label":y("settings.watchAria",h.UI.settings.watchAria),disabled:em,onClick:ep,children:[(0,n.jsx)("i",{"aria-hidden":!0}),(0,n.jsx)("span",{children:eu?(0,n.jsx)(u.T,{k:"settings.on",en:h.UI.settings.on}):(0,n.jsx)(u.T,{k:"settings.off",en:h.UI.settings.off})})]})})]}),ef&&(0,n.jsxs)("div",{className:"set",children:[(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:y("settings.startupLabel",h.UI.settings.startupLabel)}),(0,n.jsx)("span",{children:ew?y("settings.startupPolicyOff",h.UI.settings.startupPolicyOff):ey?y("settings.startupPolicyOn",h.UI.settings.startupPolicyOn):ev?y("settings.startupBlocked",h.UI.settings.startupBlocked):y("settings.startupHelp",h.UI.settings.startupHelp)})]}),(0,n.jsx)("div",{className:"ctl",children:!ev&&!(ew||ey)&&(0,n.jsxs)("button",{className:"swt".concat(ex?" on":""),role:"switch","aria-checked":ex,"aria-label":y("settings.startupAria",h.UI.settings.startupAria),disabled:ek,onClick:eI,children:[(0,n.jsx)("i",{"aria-hidden":!0}),(0,n.jsx)("span",{children:ex?(0,n.jsx)(u.T,{k:"settings.on",en:h.UI.settings.on}):(0,n.jsx)(u.T,{k:"settings.off",en:h.UI.settings.off})})]})})]}),(0,n.jsx)("div",{className:"set",style:{alignItems:"flex-start"},children:(0,n.jsxs)("div",{className:"lbl",style:{flex:1},children:[(0,n.jsx)("b",{children:y("settings.watchingHelp",h.UI.settings.watchingHelp)}),0===$.folders.length&&0===Q.length?(0,n.jsx)("span",{children:y("settings.watchingEmpty",h.UI.settings.watchingEmpty)}):(0,n.jsxs)("div",{className:"rule-list",children:[$.folders.map(e=>(0,n.jsxs)("div",{className:"rule-row",children:[(0,n.jsx)("span",{className:"path",children:(0,n.jsx)(g.B,{children:(0,o.oV)(e.path,44)})}),(0,n.jsxs)("span",{className:"rule-why",children:[(0,n.jsx)(g.V,{n:e.projects})," ",1===e.projects?y("settings.watchingProject",h.UI.settings.watchingProject):y("settings.watchingProjects",h.UI.settings.watchingProjects)]}),(0,n.jsx)("button",{className:"b2 q",disabled:U,onClick:()=>ee(e.path),children:y("settings.stopWatching",h.UI.settings.stopWatching)})]},e.path)),Q.map(e=>(0,n.jsx)(p.j,{className:"rule-row gone",what:(0,b.ph)("settings.watchStopped",h.UI.settings.watchStopped,(0,o.oV)(e,44)),onUndo:()=>es(e)},e)),$.unclaimed>0&&(0,n.jsx)("div",{className:"rule-row",children:(0,n.jsxs)("span",{className:"rule-why",children:[(0,n.jsx)(g.V,{n:$.unclaimed})," ",1===$.unclaimed?y("settings.watchingProject",h.UI.settings.watchingProject):y("settings.watchingProjects",h.UI.settings.watchingProjects)," ",y("settings.watchingUnclaimed",h.UI.settings.watchingUnclaimed)]})})]}),W?(0,n.jsxs)("div",{style:{marginBlockStart:8},children:[(0,n.jsx)(l.A,{watched:[],onChanged:()=>{},pick:{label:y("settings.watchingPick",h.UI.settings.watchingPick),onPick:J,already:$.folders.map(e=>e.path),alreadyLabel:y("settings.watchingAlready",h.UI.settings.watchingAlready)}}),(0,n.jsx)("div",{className:"setup-actions",style:{justifyContent:"flex-start",marginBlockStart:6},children:(0,n.jsx)("button",{className:"b2 q",onClick:()=>B(!1),children:(0,n.jsx)(u.T,{k:"btn.done",en:h.UI.common.done})})})]}):(0,n.jsx)("div",{style:{marginBlockStart:8},children:(0,n.jsx)("button",{className:"b",onClick:()=>B(!0),children:y("settings.watchingAdd",h.UI.settings.watchingAdd)})}),F&&(0,n.jsx)("span",{className:"error-line",children:F})]})})]}),"rules"===N&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("div",{className:"sec",children:[(0,n.jsx)("h2",{children:(0,n.jsx)(u.T,{k:"settings.secRules",en:h.UI.settings.secRules})}),(0,n.jsx)("span",{className:"meta",children:y("settings.rulesMeta",h.UI.settings.rulesMeta)})]}),(0,n.jsx)("div",{className:"set",style:{alignItems:"flex-start"},children:(0,n.jsxs)("div",{className:"lbl",style:{flex:1},children:[(0,n.jsx)("b",{children:y("settings.excludeLabel",h.UI.settings.excludeLabel)}),(0,n.jsx)("span",{children:y("settings.excludeHelp",h.UI.settings.excludeHelp)}),et.exclude.length>0&&(0,n.jsx)("div",{className:"rule-list",children:et.exclude.map(e=>(0,n.jsxs)("div",{className:"rule-row",children:[(0,n.jsx)("span",{className:"path",children:(0,o.oV)(e,52)}),(0,n.jsx)("button",{className:"b2 q",disabled:U,onClick:()=>ea(e),children:(0,n.jsx)(u.T,{k:"btn.remove",en:h.UI.common.remove})})]},e))}),R?(0,n.jsxs)("div",{style:{marginBlockStart:8},children:[(0,n.jsx)(l.A,{watched:[],onChanged:()=>{},pick:{label:y("settings.excludePick",h.UI.settings.excludePick),onPick:en,already:et.exclude,alreadyLabel:y("settings.alreadyExcluded",h.UI.settings.alreadyExcluded)}}),(0,n.jsx)("div",{className:"setup-actions",style:{justifyContent:"flex-start",marginBlockStart:6},children:(0,n.jsx)("button",{className:"b2 q",onClick:()=>O(!1),children:(0,n.jsx)(u.T,{k:"btn.done",en:h.UI.common.done})})})]}):(0,n.jsx)("div",{style:{marginBlockStart:8},children:(0,n.jsx)("button",{className:"b",...(0,j.uN)(f.chooseExclude),onClick:()=>O(!0),children:y("settings.chooseFolder",h.UI.settings.chooseFolder)})}),_&&(0,n.jsx)("span",{className:"error-line",children:_})]})})]}),"data"===N&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"sec",children:(0,n.jsx)("h2",{children:(0,n.jsx)(u.T,{k:"settings.secData",en:h.UI.settings.secData})})}),(0,n.jsxs)("div",{className:"set",children:[(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:h.UI.firstLight.termsName}),(0,n.jsx)("span",{children:y("settings.documentsHelp",h.UI.settings.documentsHelp)})]}),(0,n.jsx)("div",{className:"ctl",children:(0,n.jsx)("a",{className:"btn",href:"/legal/terms",children:y("settings.documentsOpen",h.UI.settings.documentsOpen)})})]}),(0,n.jsxs)("div",{className:"set",children:[(0,n.jsx)("div",{className:"lbl",children:(0,n.jsx)("b",{children:h.UI.firstLight.privacyName})}),(0,n.jsx)("div",{className:"ctl",children:(0,n.jsx)("a",{className:"btn",href:"/legal/privacy",children:y("settings.documentsOpen",h.UI.settings.documentsOpen)})})]}),(0,n.jsx)("div",{className:"set",children:(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:(0,n.jsx)(g.B,{mono:!0,children:h.UI.settings.dataLabel})}),(0,n.jsx)("span",{children:y("settings.dataHelp",h.UI.settings.dataHelp)})]})}),(0,n.jsxs)("div",{className:"set",children:[(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:y("settings.domainLabel",h.UI.settings.domainLabel)}),(0,n.jsx)("span",{children:y("settings.domainHelp",h.UI.settings.domainHelp)})]}),(0,n.jsx)("div",{className:"ctl",children:(0,n.jsxs)("button",{className:"swt".concat(eo?" on":""),role:"switch","aria-checked":eo,disabled:er,onClick:eh,children:[(0,n.jsx)("i",{"aria-hidden":!0}),(0,n.jsx)("span",{children:eo?(0,n.jsx)(u.T,{k:"settings.on",en:h.UI.settings.on}):(0,n.jsx)(u.T,{k:"settings.off",en:h.UI.settings.off})})]})})]}),(0,n.jsxs)("div",{className:"set",children:[(0,n.jsxs)("div",{className:"lbl",children:[(0,n.jsx)("b",{children:y("settings.updateLabel",h.UI.settings.updateLabel)}),(0,n.jsx)("span",{children:!0===v.packaged?y("settings.updatePackaged",h.UI.settings.updatePackaged):y("settings.updateHelp",h.UI.settings.updateHelp)})]}),!0===v.packaged?null:(0,n.jsx)("div",{className:"ctl",children:(0,n.jsxs)("button",{className:"swt".concat(el?" on":""),role:"switch","aria-checked":el,...(0,j.uN)(f.updateSwitch),disabled:C,onClick:ec,children:[(0,n.jsx)("i",{"aria-hidden":!0}),(0,n.jsx)("span",{children:el?(0,n.jsx)(u.T,{k:"settings.on",en:h.UI.settings.on}):(0,n.jsx)(u.T,{k:"settings.off",en:h.UI.settings.off})})]})})]})]}),"how"===N&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("div",{className:"sec",children:(0,n.jsx)("h2",{children:(0,n.jsx)(u.T,{k:"settings.secHow",en:h.UI.settings.secHow})})}),(0,n.jsx)("div",{className:"set",children:(0,n.jsx)("div",{className:"lbl",children:h.UI.settings.how.map((e,s)=>(0,n.jsx)("span",{children:y("settings.how".concat(s+1),e)},e))})}),(0,n.jsx)("div",{className:"set detectors",style:{alignItems:"flex-start"},children:(0,n.jsxs)("div",{className:"lbl",style:{flex:1},children:[(0,n.jsx)("b",{...(0,j.uN)(f.detectors),children:(0,n.jsx)(u.T,{k:"settings.secDetectors",en:h.UI.settings.muteLabel})}),(0,n.jsxs)("span",{children:[y("settings.muteHelp",h.UI.settings.muteHelp),et.muted.length>0?" ".concat(et.muted.length," muted."):""]}),["money","identity","time-capsule","safety","health","site"].map(e=>(0,n.jsxs)("div",{className:"rule-group",children:[(0,n.jsx)("span",{className:"rule-cat",children:(0,n.jsx)(u.T,{k:"cat.".concat(e),en:h.UI.settings.cat[e]})}),(0,n.jsx)("div",{className:"rule-rows",children:r.ZI.filter(s=>s.cat===e).map(e=>{let s=et.muted.includes(e.id);return(0,n.jsxs)("div",{className:"rule-row",...(0,j.uN)(e.blurb),children:[(0,n.jsx)("span",{className:"rule-name",children:e.name}),(0,n.jsxs)("button",{className:"swt".concat(s?"":" on"),role:"switch","aria-checked":!s,...(0,j.uN)(f.muteSwitch),disabled:L===e.id,onClick:()=>ei(e.id,s),children:[(0,n.jsx)("i",{"aria-hidden":!0}),(0,n.jsx)("span",{children:s?(0,n.jsx)(u.T,{k:"settings.muted",en:h.UI.settings.muted}):(0,n.jsx)(u.T,{k:"settings.running",en:h.UI.settings.running})})]})]},e.id)})})]},e))]})})]})]})]})]})}},3364:(e,s,t)=>{"use strict";t.d(s,{j:()=>c});var n=t(5155),a=t(2115),i=t(436),l=t(5310);function c(e){let{what:s,onUndo:t,className:c="tl gone"}=e,r=(0,l.kj)(),[d,o]=(0,a.useState)(!1),[h,u]=(0,a.useState)(null);return(0,n.jsxs)("div",{className:c,role:"status",children:[(0,n.jsx)("b",{children:(0,n.jsx)(l.P,{p:s})}),h&&(0,n.jsx)("span",{className:"error-line",children:h}),(0,n.jsx)("button",{className:"b2 q",disabled:d,onClick:async()=>{var e;o(!0),u(null);let s=await t();o(!1),s.ok||u(null!=(e=s.message)?e:r("common.somethingWrong",i.UI.common.somethingWrong))},children:(0,n.jsx)(l.T,{k:"common.undo",en:i.UI.common.undo})})]})}},9712:(e,s,t)=>{"use strict";t.d(s,{Sc:()=>a,ZI:()=>n});let n=[{id:"paid-sdk",cat:"money",name:"Paid services in dormant projects",blurb:"Projects you haven't opened in a month or more that still reference paid services"},{id:"cloud-config-stale",cat:"money",name:"Deploy configs with no recent work",blurb:"Deploy files (Vercel, Railway, Docker) in projects that stopped moving"},{id:"identity",cat:"identity",name:"Commit identity mismatches",blurb:"Projects committing as a different email than your global identity"},{id:"ssh-keys",cat:"identity",name:"SSH key inventory",blurb:"The keys living in your .ssh folder and how old they are"},{id:"unpushed",cat:"time-capsule",name:"Unpushed commits",blurb:"Commits that exist only on this machine"},{id:"no-remote",cat:"time-capsule",name:"Projects with no remote",blurb:"Projects whose only home is this disk"},{id:"no-upstream",cat:"time-capsule",name:"Branches that push nowhere",blurb:"Local branches with no upstream, so their commits stay on this machine"},{id:"no-git-folder",cat:"time-capsule",name:"Folders with no git at all",blurb:"Watched folders holding work that has no history and no copy elsewhere"},{id:"readme-stub",cat:"time-capsule",name:"README still a placeholder",blurb:"READMEs that still say TODO, with age"},{id:"todo-census",cat:"time-capsule",name:"TODO census",blurb:"TODOs across the estate, eldest quoted"},{id:"abandoned-branches",cat:"time-capsule",name:"Abandoned branches",blurb:"Branches untouched for six months or more"},{id:"anniversary",cat:"time-capsule",name:"Project anniversaries",blurb:"First-commit birthdays coming up"},{id:"inventory-burst",cat:"time-capsule",name:"Large deletions and change bursts",blurb:"Watched folders that lost a lot of files, or had a lot of them change, since the last look"},{id:"file-gone",cat:"time-capsule",name:"Files that disappeared",blurb:"Files that were there last time and are not now, with the command to bring back the ones git still holds"},{id:"agent-effects",cat:"time-capsule",name:"Changes while an agent was connected",blurb:"Files that changed or went missing in a window that overlapped an agent's questions - af360 cannot tell whose edits they were"},{id:"sync-folder",cat:"safety",name:"Repos inside sync folders",blurb:"Git repos living inside OneDrive, Dropbox or Google Drive"},{id:"history-secrets",cat:"safety",name:"Key-shaped strings in git history",blurb:"Access-key-shaped strings in the history of publicly-remoted repos"},{id:"gitignore-gaps",cat:"safety",name:".gitignore gaps",blurb:"Repos tracking node_modules, .env or build output"},{id:"dev-server-exposed",cat:"safety",name:"Dev server open to the network",blurb:"Dev scripts binding 0.0.0.0 instead of localhost"},{id:"install-scripts",cat:"safety",name:"Dependencies with install scripts",blurb:"Dependencies that run their own code at install time, named"},{id:"dep-uncommitted",cat:"safety",name:"Installs git has not recorded",blurb:"Dependency lists that changed on disk and have not been committed"},{id:"unbacked-ignored",cat:"safety",name:"Ignored files in a project with no remote",blurb:"Environment files, databases and upload folders git ignores, in projects with nowhere to push"},{id:"node-modules",cat:"health",name:"node_modules weight",blurb:"What your node_modules folders weigh and what dormancy would give back"},{id:"build-artifacts",cat:"health",name:"Build-artifact graveyards",blurb:"Old .next, dist and build folders with sizes"},{id:"runtime-eol",cat:"health",name:"Runtime end of life",blurb:"Your Node.js version against its published support dates"},{id:"disk-weight",cat:"health",name:"Tool caches",blurb:"What the caches other tools leave behind are weighing, not counting node_modules or build folders"},{id:"runtime-census",cat:"health",name:"Runtime census",blurb:"Projects asking for a Node version this machine is not running"},{id:"repo-front-door",cat:"health",name:"README and licence",blurb:"Repositories with a remote that carry neither"},{id:"dep-versions",cat:"health",name:"Same dependency, many versions",blurb:"One dependency installed at several versions across the estate, with sizes"},{id:"dep-arrivals",cat:"health",name:"Dependency arrivals",blurb:"What joined your dependency lists, and the date the project recorded it"},{id:"estate-stats",cat:"health",name:"Estate line count",blurb:"Lines of code and language map - the pride stat"},{id:"duplicate-downloads",cat:"health",name:"Downloads sharing a project's name",blurb:"Downloaded folders whose name matches a project you already have, with sizes"},{id:"deploy-sites",cat:"site",name:"Addresses your projects deploy to",blurb:"Hostnames named by deploy configs in your own repos, offered for watching"},{id:"og-preview",cat:"site",name:"Social share preview",blurb:"The card WhatsApp and LinkedIn render when your link is shared"},{id:"security-headers",cat:"site",name:"Security headers",blurb:"Protective headers your site does or doesn't send"},{id:"mixed-content",cat:"site",name:"Mixed content",blurb:"Secure pages loading pieces over plain http"},{id:"redirect-chain",cat:"site",name:"Redirect chain and www",blurb:"How many hops a visit takes, and whether www agrees with the bare domain"},{id:"robots-blocking",cat:"site",name:"robots.txt blocking all",blurb:"A robots.txt turning every search engine away"},{id:"sitemap-missing",cat:"site",name:"Sitemap missing",blurb:"No sitemap for search engines to read"},{id:"dns-watch",cat:"site",name:"DNS snapshot and changes",blurb:"Your domain's DNS records, and any change since last look"}],a=e=>{var s;return null==(s=n.find(s=>s.id===e))?void 0:s.blurb}}},e=>{e.O(0,[2619,3192,8050,4097,8441,1255,7358],()=>e(e.s=1823)),_N_E=e.O()}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9437],{1804:(e,s,t)=>{Promise.resolve().then(t.bind(t,4421))},4421:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>y});var i=t(5155),n=t(2115),a=t(7406),r=t(639),l=t(7897),c=t(5163),d=t(436),o=t(5310),u=t(8106),p=t(3034),m=t(6400),h=t(5834),v=t(1551);function j(e){let{s,cockpit:t}=e,[a,r]=(0,n.useState)(!1),l=(0,o.kj)(),c=s.current,u=!!c&&!c.ok,m=u&&"number"==typeof(null==c?void 0:c.status);return(0,i.jsxs)("div",{className:"irow svcrow".concat(u?" bad":""),children:[(0,i.jsxs)("div",{className:"irow-line",children:[(0,i.jsxs)("button",{className:"irow-main",onClick:()=>r(!a),"aria-expanded":a,children:[(0,i.jsx)("span",{className:"dot ".concat(c?u?"r":"g":"u"),"aria-hidden":!0}),(0,i.jsx)("span",{className:"irow-name",children:s.entry.label}),(0,i.jsx)("span",{className:"irow-truth".concat(u?" bad":""),children:!c||s.checking?(0,i.jsx)(h.hI,{children:l("svc.asking",d.UI.sites.svcAsking)}):u?m?(0,i.jsxs)(i.Fragment,{children:[l("svc.errorReply",d.UI.sites.svcErrorReply)," ",(0,i.jsx)(p.V,{n:c.status})]}):l("svc.noAnswer",d.UI.sites.svcNoAnswer):l("svc.answered",d.UI.sites.svcAnswered)}),(0,i.jsx)("span",{className:"irow-path",dir:"ltr",children:s.entry.endpoint})]}),(0,i.jsx)("span",{className:"qk",children:(0,i.jsx)("button",{className:"b2 q danger",onClick:()=>void t.post({action:"removeService",id:s.entry.id}).then(()=>t.readServices()),children:(0,i.jsx)(o.T,{k:"svc.remove",en:d.UI.sites.removeService})})})]}),a&&(0,i.jsxs)("div",{className:"irow-detail",children:[(0,i.jsx)("p",{children:"status"===s.entry.endpointKind?l("svc.viaStatus",d.UI.sites.svcViaStatus):l("svc.viaHome",d.UI.sites.svcViaHome)}),(0,i.jsx)("p",{className:"svc-bound",children:l("svc.notTheWorld",d.UI.sites.svcNotTheWorld)})]})]})}function x(e){var s,t;let{cockpit:n}=e;(0,o.kj)();let a=function(e,s){let t=new Map((null!=s?s:[]).map(e=>[e.entry.id,e]));return e.map(e=>{let s=t.get(e.id);return s?{...s,entry:e}:{entry:e,current:null,since:null}})}(null!=(t=null==(s=n.cfg)?void 0:s.services)?t:[],n.services);return 0===a.length?null:(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:"sec",children:[(0,i.jsx)("h2",{children:(0,i.jsx)(o.T,{k:"sites.groupServices",en:d.UI.sites.groupServices})}),(0,i.jsxs)("span",{className:"meta",children:[(0,i.jsx)(p.V,{n:a.length})," \xb7 ",(0,i.jsx)(o.T,{k:"sites.servicesPurpose",en:d.UI.sites.servicesPurpose})]})]}),(0,i.jsx)("div",{className:"irows",children:a.map(e=>(0,i.jsx)(j,{s:e,cockpit:n},e.entry.id))})]})}function g(e){var s,t;let{presets:a,cockpit:r}=e,l=(0,o.kj)(),[c,u]=(0,n.useState)(null),[p,m]=(0,n.useState)(null),h=new Set((null!=(t=null==(s=r.cfg)?void 0:s.services)?t:[]).map(e=>e.service)),v=a.filter(e=>!h.has(e.service));if(!r.cfg)return null;if(0===a.length)return(0,i.jsx)("p",{className:"svc-bound",children:l("svc.noPresets",d.UI.sites.servicesNoPresets)});async function j(e){var s;u(e),m(null);let t=await r.post({action:"addService",service:e});t.ok?await r.readServices():m(null!=(s=t.message)?s:null),u(null)}return(0,i.jsxs)(i.Fragment,{children:[0===h.size&&(0,i.jsx)("p",{className:"svc-bound",children:l("svc.noneAdded",d.UI.sites.servicesNoneAdded)}),v.length>0&&(0,i.jsxs)("p",{className:"svc-add",children:[(0,i.jsx)("span",{className:"k",children:l("svc.add",d.UI.sites.addService)})," ",v.map(e=>(0,i.jsx)("button",{className:"b2 q",disabled:null!==c,onClick:()=>void j(e.service),children:e.label},e.service))]}),p&&(0,i.jsx)("span",{className:"error-line",children:p})]})}function N(e){let{name:s,count:t,onRemove:a}=e,r=(0,o.kj)(),[l,c]=(0,n.useState)(!1);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:"sec",children:[(0,i.jsx)("h2",{children:s}),(0,i.jsxs)("span",{className:"meta",children:[(0,i.jsx)(p.V,{n:t})," ",1===t?r("sites.unitSite",d.UI.sites.unitSite):r("sites.unitSites",d.UI.sites.unitSites)]}),a&&(0,i.jsx)("div",{className:"tools",children:(0,i.jsx)("button",{className:"b".concat(l?" on":""),onClick:()=>c(!l),"aria-expanded":l,children:r("sites.removeGroup",d.UI.sites.removeGroup)})})]}),l&&a&&(0,i.jsxs)("p",{className:"ok-line",children:[r("sites.removeGroupNote",d.UI.sites.removeGroupNote)," ",(0,i.jsx)("button",{className:"b2 danger",onClick:()=>{c(!1),a()},children:r("sites.removeGroup",d.UI.sites.removeGroup)})]})]})}function k(e){let{cockpit:s,onAdded:t}=e,[a,r]=(0,n.useState)(""),[l,c]=(0,n.useState)(null),u=(0,o.kj)();return(0,i.jsxs)("form",{className:"setup",onSubmit:async e=>{var i;if(e.preventDefault(),!a.trim())return;let n=await s.post({action:"addGroup",name:a.trim()});n.ok?(r(""),c(null),null==t||t()):c(null!=(i=n.message)?i:u("common.somethingWrong",d.UI.common.somethingWrong))},children:[(0,i.jsxs)("div",{className:"addrow",children:[(0,i.jsx)("input",{className:"in",type:"text",value:a,autoFocus:!0,"aria-label":u("sites.groupNameAria",d.UI.sites.groupNameAria),placeholder:u("sites.groupNamePlaceholder",d.UI.sites.groupNamePlaceholder),onChange:e=>r(e.target.value)}),(0,i.jsx)("button",{className:"btn primary",type:"submit",disabled:!a.trim(),children:u("sites.createGroup",d.UI.sites.createGroup)})]}),l&&(0,i.jsx)("p",{className:"error-line",children:l})]})}function b(e){let{cockpit:s,siteId:t,groups:n,current:a}=e,r=(0,o.kj)();return 0===n.length?null:(0,i.jsxs)("select",{className:"in gsel",value:null!=a?a:"","aria-label":r("sites.fileIn",d.UI.sites.fileIn),onChange:e=>void s.post({action:"setSiteGroup",id:t,group:e.target.value||null}),children:[(0,i.jsx)("option",{value:"",children:r("sites.groupYours",d.UI.sites.groupYours)}),n.map(e=>(0,i.jsx)("option",{value:e.id,children:e.name},e.id))]})}let I=[{service:"github",label:"GitHub",endpoint:"https://www.githubstatus.com/api/v2/status.json",endpointKind:"status"},{service:"cloudflare",label:"Cloudflare",endpoint:"https://www.cloudflarestatus.com/api/v2/status.json",endpointKind:"status"},{service:"vercel",label:"Vercel",endpoint:"https://www.vercel-status.com/api/v2/status.json",endpointKind:"status"},{service:"netlify",label:"Netlify",endpoint:"https://www.netlifystatus.com/api/v2/status.json",endpointKind:"status"},{service:"npm",label:"npm",endpoint:"https://status.npmjs.org/api/v2/status.json",endpointKind:"status"},{service:"railway",label:"Railway",endpoint:"https://railway.com/",endpointKind:"home"}];function y(){var e,s,t,j;let y=(0,r.x)(),[w,U]=(0,n.useState)(null),[f,S]=(0,n.useState)(!1),[A,G]=(0,n.useState)(!1),{urls:C,health:T,incidents:P,attention:V}=y,{requestIgnore:R,overlays:F}=(0,l.Wj)(y),K=null!=(t=y.views.urls)?t:"cards",W=e=>(0,c.YV)(V,e),_=e=>"red"===e?2:+("amber"===e),q=[...C].sort((e,s)=>_(W(s.entry.id))-_(W(e.entry.id))),M=q.filter(e=>{var s;return null==(s=e.current)?void 0:s.ok}).length,Y=e=>U(s=>s===e?null:e),E=(0,v.$c)(null==(e=y.cfg)?void 0:e.lang),H=(e,s)=>(0,v.tr)(E,e,s),L="ar"===E,B=null!=(j=null==(s=y.cfg)?void 0:s.siteGroups)?j:[],D=e=>B.some(s=>s.id===e.entry.group)?e.entry.group:void 0,O=e=>{let s=(e,s)=>(0,i.jsx)(b,{cockpit:y,siteId:e,groups:B,current:s});return"cards"===K?(0,i.jsx)("div",{className:"grid",children:e.map(e=>(0,i.jsx)(l.ct,{u:e,tone:W(e.entry.id),cockpit:y,incident:(0,l.G2)(P,e.entry.id),open:w===e.entry.id,onToggle:()=>Y(e.entry.id),onIgnoreRequest:R,extra:s(e.entry.id,D(e))},e.entry.id))}):(0,i.jsx)("div",{className:"irows",children:e.map(e=>(0,i.jsx)(l.kc,{u:e,tone:W(e.entry.id),cockpit:y,incident:(0,l.G2)(P,e.entry.id),open:w===e.entry.id,onToggle:()=>Y(e.entry.id),onIgnoreRequest:R,extra:s(e.entry.id,D(e))},e.entry.id))})};return(0,i.jsxs)(a.Ay,{active:"/sites",cockpit:y,children:[(0,i.jsxs)("div",{className:"pagebar",children:[(0,i.jsx)("h1",{children:(0,i.jsx)(o.T,{k:"room.sites",en:d.UI.sites.title})}),(0,i.jsx)("span",{className:"purpose",children:(0,i.jsx)(o.T,{k:"sites.purpose",en:d.UI.sites.purpose})})]}),T?0===C.length?(0,i.jsxs)("div",{className:"empty",children:[(0,i.jsx)("p",{className:"invite",children:H("sites.emptyInvite",d.UI.sites.emptyInvite)}),(0,i.jsx)("p",{children:H("sites.emptyLine",d.UI.sites.emptyLine)}),(0,i.jsxs)("div",{className:"setup-actions",children:[(0,i.jsx)("button",{className:"btn ".concat(f?"":"primary"),"aria-pressed":f,onClick:()=>S(!f),children:f?H("btn.back",d.UI.radar.emptyBack):H("empty.pickSite",d.UI.radar.emptyPickSite)}),(0,i.jsx)("a",{className:"btn",href:"/radar",children:H("btn.goRadar",d.UI.sites.goRadar)})]}),f&&(0,i.jsx)(u.T,{cockpit:y,onAdded:()=>S(!1)})]}):(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)("div",{className:"sec",children:[(0,i.jsx)("h2",{children:(0,i.jsx)(o.T,{k:"sec.sites",en:d.UI.radar.sites})}),(0,i.jsxs)("span",{className:"meta",children:[L?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(p.V,{n:M})," ",H("sites.answeringMid","")," ",(0,i.jsx)(p.V,{n:C.length})," ",H("sites.answeringTail","")]}):d.UI.sites.answering(M,C.length)," \xb7 ",(0,i.jsx)(o.T,{k:"radar.sitesMeta",en:d.UI.radar.sitesMeta})]}),(0,i.jsxs)("div",{className:"tools",children:[(0,i.jsx)("button",{className:"b ".concat(f?"on":""),"aria-pressed":f,"aria-expanded":f,onClick:()=>S(!f),children:f?H("btn.back",d.UI.radar.emptyBack):H("empty.pickSite",d.UI.radar.emptyPickSite)}),(0,i.jsx)("button",{className:"b","aria-pressed":A,"aria-expanded":A,onClick:()=>G(!A),children:(0,i.jsx)(o.T,{k:"sites.newGroup",en:d.UI.sites.newGroup})}),(0,i.jsx)(l.aA,{view:K,onChange:e=>y.setView("urls",e)})]})]}),f&&(0,i.jsx)(u.T,{cockpit:y,onAdded:()=>S(!1)}),A&&(0,i.jsx)(k,{cockpit:y,onAdded:()=>G(!1)}),B.length>0&&(0,i.jsx)(N,{name:H("sites.groupYours",d.UI.sites.groupYours),count:q.filter(e=>!D(e)).length}),O(q.filter(e=>!D(e)))]}):(0,i.jsxs)("div",{className:"sweep-wrap",children:[(0,i.jsx)("div",{className:"sweep","aria-hidden":!0}),(0,i.jsx)("span",{children:(0,i.jsx)(h.hI,{children:H("sites.checking",d.UI.sites.checking)})})]}),B.map(e=>{let s=q.filter(s=>D(s)===e.id);return(0,i.jsxs)("div",{children:[(0,i.jsx)(N,{name:e.name,count:s.length,onRemove:()=>void y.post({action:"removeGroup",id:e.id})}),O(s)]},e.id)}),(0,i.jsx)(x,{cockpit:y}),(0,i.jsx)(g,{presets:I,cockpit:y}),(0,i.jsx)(m.LZ,{cockpit:y}),F]})}},8106:(e,s,t)=>{"use strict";t.d(s,{T:()=>l});var i=t(5155),n=t(2115),a=t(436),r=t(5310);function l(e){let{cockpit:s,onAdded:t}=e,[l,c]=(0,n.useState)(""),[d,o]=(0,n.useState)(""),[u,p]=(0,n.useState)(!1),[m,h]=(0,n.useState)(null),v=(0,r.kj)(),j=async e=>{var i;if(e.preventDefault(),!l.trim())return;p(!0),h(null);let n=await s.post({action:"addUrl",url:l.trim(),label:d.trim()||void 0});p(!1),n.ok?(c(""),o(""),h({ok:!0,text:v("site.added",a.UI.radar.siteAdded)}),s.readHealth(),null==t||t()):h({ok:!1,text:null!=(i=n.message)?i:v("common.somethingWrong",a.UI.common.somethingWrong)})};return(0,i.jsxs)("form",{className:"setup",onSubmit:j,children:[(0,i.jsxs)("div",{className:"addrow",children:[(0,i.jsx)("input",{className:"in",type:"text",inputMode:"url",dir:"ltr",value:l,"aria-label":v("site.addrAria",a.UI.radar.siteAddrAria),placeholder:a.UI.radar.sitePlaceholder,onChange:e=>c(e.target.value)}),(0,i.jsx)("input",{className:"in",type:"text",value:d,"aria-label":v("site.nameAria",a.UI.radar.siteNameAria),placeholder:v("site.namePlaceholder",a.UI.radar.siteNamePlaceholder),onChange:e=>o(e.target.value)}),(0,i.jsx)("button",{className:"btn primary",type:"submit",disabled:u||!l.trim(),children:u?v("site.adding",a.UI.radar.siteAdding):v("site.add",a.UI.radar.siteAdd)})]}),m&&(0,i.jsx)("p",{className:m.ok?"ok-line":"error-line",children:m.text})]})}}},e=>{e.O(0,[2619,3192,8050,7897,8441,1255,7358],()=>e(e.s=1804)),_N_E=e.O()}]);
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6593],{63:(e,t,n)=>{"use strict";var s=n(7260);n.o(s,"usePathname")&&n.d(t,{usePathname:function(){return s.usePathname}}),n.o(s,"useRouter")&&n.d(t,{useRouter:function(){return s.useRouter}})},5300:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>p});var s=n(5155),l=n(2115),i=n(63),a=n(7861);let r=/\*\*([^*\n]+)\*\*|`([^`\n]+)`/g;function c(e){let t=[],n=0;r.lastIndex=0;for(let s=r.exec(e);null!==s;s=r.exec(e))s.index>n&&t.push({kind:"text",text:e.slice(n,s.index)}),void 0!==s[1]?t.push({kind:"strong",text:s[1]}):t.push({kind:"code",text:s[2]}),n=s.index+s[0].length;return n<e.length&&t.push({kind:"text",text:e.slice(n)}),t.length>0?t:[{kind:"text",text:e}]}function d(e){let{body:t}=e,n=function(e){let t=[],n=String(null!=e?e:"").replace(/\r\n/g,"\n").split("\n"),s=[],l=null,i=()=>{0!==s.length&&(t.push({kind:"p",runs:c(s.join(" "))}),s=[])},a=()=>{null!==l&&(t.push({kind:"ul",items:l}),l=null)},r=()=>{i(),a()};for(let e of n){let n=e.replace(/\s+$/,"");if(""===n.trim()){r();continue}let d=/^##\s+(.*)$/.exec(n);if(d){r(),t.push({kind:"h2",runs:c(d[1])});continue}let o=/^#\s+(.*)$/.exec(n);if(o){r(),t.push({kind:"h1",runs:c(o[1])});continue}let h=/^-\s+(.*)$/.exec(n);if(h){i(),null===l&&(l=[]),l.push(c(h[1]));continue}let u=/^(\d+\.)\s+(.*)$/.exec(n);if(u){r(),t.push({kind:"clause",marker:u[1],runs:c(u[2])});continue}a(),s.push(n.trim())}return r(),t}(t);return(0,s.jsx)("div",{className:"legal-doc",children:n.map(h)})}function o(e){return e.map((e,t)=>"strong"===e.kind?(0,s.jsx)("strong",{children:e.text},t):"code"===e.kind?(0,s.jsx)("code",{children:e.text},t):(0,s.jsx)("span",{children:e.text},t))}function h(e,t){return"h1"===e.kind?null:"h2"===e.kind?(0,s.jsx)("h2",{children:o(e.runs)},t):"ul"===e.kind?(0,s.jsx)("ul",{children:e.items.map((e,t)=>(0,s.jsx)("li",{children:o(e)},t))},t):"clause"===e.kind?(0,s.jsxs)("p",{className:"legal-clause",children:[(0,s.jsx)("span",{className:"legal-marker",children:e.marker})," ",o(e.runs)]},t):(0,s.jsx)("p",{children:o(e.runs)},t)}var u=n(4576),m=n(436);function p(){var e,t,n,r,c,o,h,p,g;let x=(0,i.useRouter)(),[f,j]=(0,l.useState)("checking"),[k,N]=(0,l.useState)(null),[v,I]=(0,l.useState)(null),y=null!=(r=null==k?void 0:k.packaged)?r:null,[U,L]=(0,l.useState)(null),[b,w]=(0,l.useState)(new Set),[S,B]=(0,l.useState)(!1),[C,E]=(0,l.useState)(null),A=(0,l.useRef)(null);(0,l.useEffect)(()=>{let e=!0;return(async()=>{let t=await fetch("/api/consent",{cache:"no-store"}).then(e=>e.json()).catch(()=>null);if(e){if(!t||!Array.isArray(t.documents)){E(m.UI.common.somethingWrong),j("gate");return}if(N(t),t.accepted)return x.replace("/radar");j("gate")}})(),()=>{e=!1}},[x]),(0,l.useEffect)(()=>()=>{A.current&&clearInterval(A.current)},[]);let T=(0,l.useCallback)(()=>{j("sweep");let e=async()=>{let e=await fetch("/api/first-light",{cache:"no-store"}).then(e=>e.json()).catch(()=>null);e&&Array.isArray(e.candidates)&&(L(e),w(t=>{let n=new Set(t);for(let t of e.candidates)t.looksDownloaded||n.add(t.path);return n}),e.finished&&A.current&&(clearInterval(A.current),A.current=null))};e(),A.current=setInterval(e,150)},[]),O=async()=>{var e,t;B(!0),E(null);let n=Object.fromEntries((null!=(e=null==k?void 0:k.documents)?e:[]).map(e=>[e.id,e.version])),s=await fetch("/api/consent",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"accept",versions:n})}).then(e=>e.json()).catch(()=>({ok:!1,message:m.UI.common.somethingWrong}));return(B(!1),s.ok)?(null==k?void 0:k.builtEstate)?void x.replace("/radar"):void T():void E(null!=(t=s.message)?t:m.UI.common.somethingWrong)},P=async()=>{let e=[...b];if(0===e.length)return void x.push("/radar");B(!0),E(null);let t=await fetch("/api/config",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"addRoots",paths:e})}).then(e=>e.json()).catch(()=>({ok:!1,message:m.UI.common.somethingWrong}));if(B(!1),!t.ok){var n;E(null!=(n=t.message)?n:m.UI.common.somethingWrong);return}x.push("/radar")},W=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return(0,s.jsxs)("main",{className:t?"landing doc":"landing",children:[(0,s.jsxs)("h1",{className:"brand",children:[(0,s.jsx)(a.SweepMark,{scanning:"sweep"===f&&!(null==U?void 0:U.finished)}),(0,s.jsx)(a.Brand,{})]}),e,(0,s.jsxs)("p",{className:"landing-foot",children:[(0,s.jsx)(a.Brand,{})," ",m.UI.shell.footBy," ",u.rM]})]})};if("checking"===f)return W((0,s.jsx)("p",{className:"meta",children:m.UI.firstLight.moment}));if("reading"===f&&v)return W((0,s.jsxs)("div",{className:"empty welcome",style:{textAlign:"start",maxInlineSize:"70ch"},children:[(0,s.jsx)("p",{className:"invite",style:{textAlign:"center"},children:v.title}),(0,s.jsxs)("p",{className:"meta",style:{textAlign:"center",marginBlockEnd:12},children:[m.UI.firstLight.docVersion," ",v.version]}),(0,s.jsx)(d,{body:v.body}),(0,s.jsx)("div",{className:"setup-actions",style:{marginBlockStart:18},children:(0,s.jsx)("button",{className:"btn",onClick:()=>{I(null),j("gate")},children:m.UI.common.back})})]}),!0);if("gate"===f){let e=(e,t)=>{var n;let l=(null!=(n=null==k?void 0:k.documents)?n:[]).find(t=>t.id===e);return l?(0,s.jsx)("button",{className:"link",onClick:()=>{I(l),j("reading")},children:t}):t};return W((0,s.jsxs)("div",{className:"empty welcome",children:[(0,s.jsx)("p",{className:"invite",children:m.UI.firstLight.gateTitle}),(0,s.jsxs)("p",{className:"wl",children:[m.UI.firstLight.gateLead,(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),!0===y?m.UI.firstLight.gateBodyPackaged:m.UI.firstLight.gateBody]}),(0,s.jsxs)("div",{className:"setup-actions",children:[(0,s.jsx)("button",{className:"btn primary",disabled:S||(null==k?void 0:k.readable)===!1,onClick:O,children:S?m.UI.firstLight.accepting:m.UI.firstLight.accept}),(0,s.jsx)("button",{className:"btn ghost",disabled:S,onClick:()=>j("declined"),children:m.UI.firstLight.notNow})]}),(0,s.jsxs)("p",{className:"someday",children:[m.UI.firstLight.docsLead," ",e("terms",m.UI.firstLight.termsName)," ",m.UI.firstLight.docsAnd," ",e("privacy",m.UI.firstLight.privacyName),". ",m.UI.firstLight.docsTail]}),(null==k?void 0:k.readable)===!1&&(0,s.jsx)("p",{className:"error-line",style:{marginBlockStart:8},children:m.UI.firstLight.docsUnreadable}),C&&(0,s.jsx)("p",{className:"error-line",children:C})]}))}if("declined"===f)return W((0,s.jsxs)("div",{className:"empty welcome",children:[(0,s.jsx)("p",{className:"invite",children:m.UI.firstLight.declinedTitle}),(0,s.jsxs)("p",{className:"wl",children:[m.UI.firstLight.declinedBody,(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),m.UI.firstLight.declinedBack]}),(0,s.jsx)("div",{className:"setup-actions",children:(0,s.jsx)("button",{className:"btn",onClick:()=>j("gate"),children:m.UI.firstLight.takeMeBack})})]}));let R=(null!=(c=null==U?void 0:U.candidates)?c:[]).filter(e=>!e.looksDownloaded),_=(null==U?void 0:U.finished)===!0,z=null!=(o=null==U||null==(t=U.places)||null==(e=t[U.places.length-1])?void 0:e.path)?o:null,F=_&&(null==U?void 0:U.capped)===!0,$=null!=(h=null==U?void 0:U.unvisited)?h:[],M=null!=(p=null==U||null==(n=U.candidates)?void 0:n.length)?p:0;return W((0,s.jsxs)("div",{className:"empty welcome",style:{maxInlineSize:"66ch"},children:[(0,s.jsx)("p",{className:"invite",children:_?0===R.length?m.UI.firstLight.emptyTitle:m.UI.firstLight.pickTitle(R.length):m.UI.firstLight.sweepTitle}),_?0===R.length?(0,s.jsx)("p",{className:"wl",children:null!=(g=null==U?void 0:U.failed)?g:F?m.UI.firstLight.emptyCapped(M):m.UI.firstLight.emptyBody}):(0,s.jsx)("p",{className:"wl",children:m.UI.firstLight.pickHelp}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("p",{className:"meta",children:z?m.UI.firstLight.sweepSearched(z):m.UI.firstLight.moment}),(0,s.jsx)("p",{className:"meta",children:0===R.length?m.UI.firstLight.sweepNoneYet:m.UI.firstLight.sweepFoundSoFar(R.length)})]}),F&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("p",{className:"meta",children:m.UI.setup.lookedCapped(M,$.length)}),(0,s.jsx)("ul",{className:"wherelooked",children:$.map(e=>(0,s.jsxs)("li",{children:[(0,s.jsx)("span",{className:"path",children:e}),(0,s.jsxs)("span",{className:"dim",children:[" - ",m.UI.setup.notLooked]})]},e))})]}),R.length>0&&(0,s.jsx)("div",{className:"rowlist",style:{textAlign:"start",marginBlockStart:6,maxBlockSize:"44vh",overflowY:"auto"},children:R.map(e=>(0,s.jsxs)("label",{className:"row",style:{cursor:"pointer"},children:[(0,s.jsx)("input",{type:"checkbox",checked:b.has(e.path),onChange:()=>{let t;return t=e.path,w(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})},style:{marginInlineEnd:10}}),(0,s.jsxs)("span",{className:"grow",children:[(0,s.jsx)("strong",{children:e.name}),(0,s.jsx)("span",{className:"path",style:{display:"block"},children:e.path})]})]},e.path))}),(null==U?void 0:U.failed)&&R.length>0&&(0,s.jsx)("p",{className:"meta",children:m.UI.firstLight.sweepFailed}),C&&(0,s.jsx)("p",{className:"error-line",children:C}),_&&(0,s.jsx)("div",{className:"setup-actions",style:{marginBlockStart:20},children:(0,s.jsx)("button",{className:"btn primary",disabled:S,onClick:P,children:S?m.UI.firstLight.watching:0===R.length?m.UI.firstLight.goInEmpty:0===b.size?m.UI.firstLight.continueWithout:m.UI.firstLight.startWatching(b.size)})})]}))}},9964:(e,t,n)=>{Promise.resolve().then(n.bind(n,5300))}},e=>{e.O(0,[3192,8441,1255,7358],()=>e(e.s=9964)),_N_E=e.O()}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6593],{63:(e,t,n)=>{"use strict";var s=n(7260);n.o(s,"usePathname")&&n.d(t,{usePathname:function(){return s.usePathname}}),n.o(s,"useRouter")&&n.d(t,{useRouter:function(){return s.useRouter}})},5300:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>p});var s=n(5155),l=n(2115),i=n(63),a=n(7861);let r=/\*\*([^*\n]+)\*\*|`([^`\n]+)`/g;function c(e){let t=[],n=0;r.lastIndex=0;for(let s=r.exec(e);null!==s;s=r.exec(e))s.index>n&&t.push({kind:"text",text:e.slice(n,s.index)}),void 0!==s[1]?t.push({kind:"strong",text:s[1]}):t.push({kind:"code",text:s[2]}),n=s.index+s[0].length;return n<e.length&&t.push({kind:"text",text:e.slice(n)}),t.length>0?t:[{kind:"text",text:e}]}function d(e){let{body:t}=e,n=function(e){let t=[],n=String(null!=e?e:"").replace(/\r\n/g,"\n").split("\n"),s=[],l=null,i=()=>{0!==s.length&&(t.push({kind:"p",runs:c(s.join(" "))}),s=[])},a=()=>{null!==l&&(t.push({kind:"ul",items:l}),l=null)},r=()=>{i(),a()};for(let e of n){let n=e.replace(/\s+$/,"");if(""===n.trim()){r();continue}let d=/^##\s+(.*)$/.exec(n);if(d){r(),t.push({kind:"h2",runs:c(d[1])});continue}let o=/^#\s+(.*)$/.exec(n);if(o){r(),t.push({kind:"h1",runs:c(o[1])});continue}let h=/^-\s+(.*)$/.exec(n);if(h){i(),null===l&&(l=[]),l.push(c(h[1]));continue}let u=/^(\d+\.)\s+(.*)$/.exec(n);if(u){r(),t.push({kind:"clause",marker:u[1],runs:c(u[2])});continue}a(),s.push(n.trim())}return r(),t}(t);return(0,s.jsx)("div",{className:"legal-doc",children:n.map(h)})}function o(e){return e.map((e,t)=>"strong"===e.kind?(0,s.jsx)("strong",{children:e.text},t):"code"===e.kind?(0,s.jsx)("code",{children:e.text},t):(0,s.jsx)("span",{children:e.text},t))}function h(e,t){return"h1"===e.kind?null:"h2"===e.kind?(0,s.jsx)("h2",{children:o(e.runs)},t):"ul"===e.kind?(0,s.jsx)("ul",{children:e.items.map((e,t)=>(0,s.jsx)("li",{children:o(e)},t))},t):"clause"===e.kind?(0,s.jsxs)("p",{className:"legal-clause",children:[(0,s.jsx)("span",{className:"legal-marker",children:e.marker})," ",o(e.runs)]},t):(0,s.jsx)("p",{children:o(e.runs)},t)}var u=n(4576),m=n(436);function p(){var e,t,n,r,c,o,h,p,g;let x=(0,i.useRouter)(),[f,j]=(0,l.useState)("checking"),[k,N]=(0,l.useState)(null),[v,I]=(0,l.useState)(null),y=null!=(r=null==k?void 0:k.packaged)?r:null,[U,L]=(0,l.useState)(null),[b,w]=(0,l.useState)(new Set),[S,B]=(0,l.useState)(!1),[C,E]=(0,l.useState)(null),A=(0,l.useRef)(null);(0,l.useEffect)(()=>{let e=!0;return(async()=>{let t=await fetch("/api/consent",{cache:"no-store"}).then(e=>e.json()).catch(()=>null);if(e){if(!t||!Array.isArray(t.documents)){E(m.UI.common.somethingWrong),j("gate");return}if(N(t),t.accepted)return x.replace("/radar");j("gate")}})(),()=>{e=!1}},[x]),(0,l.useEffect)(()=>()=>{A.current&&clearInterval(A.current)},[]);let T=(0,l.useCallback)(()=>{j("sweep");let e=async()=>{let e=await fetch("/api/first-light",{cache:"no-store"}).then(e=>e.json()).catch(()=>null);e&&Array.isArray(e.candidates)&&(L(e),w(t=>{let n=new Set(t);for(let t of e.candidates)t.looksDownloaded||n.add(t.path);return n}),e.finished&&A.current&&(clearInterval(A.current),A.current=null))};e(),A.current=setInterval(e,150)},[]),O=async()=>{var e,t;B(!0),E(null);let n=Object.fromEntries((null!=(e=null==k?void 0:k.documents)?e:[]).map(e=>[e.id,e.version])),s=await fetch("/api/consent",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"accept",versions:n})}).then(e=>e.json()).catch(()=>({ok:!1,message:m.UI.common.somethingWrong}));return(B(!1),s.ok)?(null==k?void 0:k.builtEstate)?void x.replace("/radar"):void T():void E(null!=(t=s.message)?t:m.UI.common.somethingWrong)},P=async()=>{let e=[...b];if(0===e.length)return void x.push("/radar");B(!0),E(null);let t=await fetch("/api/config",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({action:"addRoots",paths:e})}).then(e=>e.json()).catch(()=>({ok:!1,message:m.UI.common.somethingWrong}));if(B(!1),!t.ok){var n;E(null!=(n=t.message)?n:m.UI.common.somethingWrong);return}x.push("/radar")},W=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return(0,s.jsxs)("main",{className:t?"landing doc":"landing",children:[(0,s.jsxs)("h1",{className:"brand",children:[(0,s.jsx)(a.SweepMark,{scanning:"sweep"===f&&!(null==U?void 0:U.finished)}),(0,s.jsx)(a.Brand,{})]}),e,(0,s.jsxs)("p",{className:"landing-foot",children:[(0,s.jsx)(a.Brand,{})," ",m.UI.shell.footBy," ",u.rM]})]})};if("checking"===f)return W((0,s.jsx)("p",{className:"meta",children:m.UI.firstLight.moment}));if("reading"===f&&v)return W((0,s.jsxs)("div",{className:"empty welcome",style:{textAlign:"start",maxInlineSize:"70ch"},children:[(0,s.jsx)("p",{className:"invite",style:{textAlign:"center"},children:v.title}),(0,s.jsxs)("p",{className:"meta",style:{textAlign:"center",marginBlockEnd:12},children:[m.UI.firstLight.docVersion," ",v.version]}),(0,s.jsx)(d,{body:v.body}),(0,s.jsx)("div",{className:"setup-actions",style:{marginBlockStart:18},children:(0,s.jsx)("button",{className:"btn",onClick:()=>{I(null),j("gate")},children:m.UI.common.back})})]}),!0);if("gate"===f){let e=(e,t)=>{var n;let l=(null!=(n=null==k?void 0:k.documents)?n:[]).find(t=>t.id===e);return l?(0,s.jsx)("button",{className:"link",onClick:()=>{I(l),j("reading")},children:t}):t};return W((0,s.jsxs)("div",{className:"empty welcome",children:[(0,s.jsx)("p",{className:"invite",children:m.UI.firstLight.gateTitle}),(0,s.jsxs)("p",{className:"wl",children:[m.UI.firstLight.gateLead,(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),!0===y?m.UI.firstLight.gateBodyPackaged:m.UI.firstLight.gateBody]}),(0,s.jsxs)("div",{className:"setup-actions",children:[(0,s.jsx)("button",{className:"btn primary",disabled:S||(null==k?void 0:k.readable)===!1,onClick:O,children:S?m.UI.firstLight.accepting:m.UI.firstLight.accept}),(0,s.jsx)("button",{className:"btn ghost",disabled:S,onClick:()=>j("declined"),children:m.UI.firstLight.notNow})]}),(0,s.jsxs)("p",{className:"someday",children:[m.UI.firstLight.docsLead," ",e("terms",m.UI.firstLight.termsName)," ",m.UI.firstLight.docsAnd," ",e("privacy",m.UI.firstLight.privacyName),". ",m.UI.firstLight.docsTail]}),(null==k?void 0:k.readable)===!1&&(0,s.jsx)("p",{className:"error-line",style:{marginBlockStart:8},children:m.UI.firstLight.docsUnreadable}),C&&(0,s.jsx)("p",{className:"error-line",children:C})]}))}if("declined"===f)return W((0,s.jsxs)("div",{className:"empty welcome",children:[(0,s.jsx)("p",{className:"invite",children:m.UI.firstLight.declinedTitle}),(0,s.jsxs)("p",{className:"wl",children:[m.UI.firstLight.declinedBody,(0,s.jsx)("br",{}),(0,s.jsx)("br",{}),m.UI.firstLight.declinedBack]}),(0,s.jsx)("div",{className:"setup-actions",children:(0,s.jsx)("button",{className:"btn",onClick:()=>j("gate"),children:m.UI.firstLight.takeMeBack})})]}));let R=(null!=(c=null==U?void 0:U.candidates)?c:[]).filter(e=>!e.looksDownloaded),_=(null==U?void 0:U.finished)===!0,z=null!=(o=null==U||null==(t=U.places)||null==(e=t[U.places.length-1])?void 0:e.path)?o:null,F=_&&(null==U?void 0:U.capped)===!0,$=null!=(h=null==U?void 0:U.unvisited)?h:[],M=null!=(p=null==U||null==(n=U.candidates)?void 0:n.length)?p:0;return W((0,s.jsxs)("div",{className:"empty welcome",style:{maxInlineSize:"66ch"},children:[(0,s.jsx)("p",{className:"invite",children:_?0===R.length?m.UI.firstLight.emptyTitle:m.UI.firstLight.pickTitle(R.length):m.UI.firstLight.sweepTitle}),_?0===R.length?(0,s.jsx)("p",{className:"wl",children:null!=(g=null==U?void 0:U.failed)?g:F?m.UI.firstLight.emptyCapped(M):m.UI.firstLight.emptyBody}):(0,s.jsx)("p",{className:"wl",children:m.UI.firstLight.pickHelp}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("p",{className:"meta",children:z?m.UI.firstLight.sweepSearched(z):m.UI.firstLight.moment}),(0,s.jsx)("p",{className:"meta",children:0===R.length?m.UI.firstLight.sweepNoneYet:m.UI.firstLight.sweepFoundSoFar(R.length)})]}),F&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("p",{className:"meta",children:m.UI.setup.lookedCapped(M,$.length)}),(0,s.jsx)("ul",{className:"wherelooked",children:$.map(e=>(0,s.jsxs)("li",{children:[(0,s.jsx)("span",{className:"path",children:e}),(0,s.jsxs)("span",{className:"dim",children:[" - ",m.UI.setup.notLooked]})]},e))})]}),R.length>0&&(0,s.jsx)("div",{className:"rowlist",style:{textAlign:"start",marginBlockStart:6,maxBlockSize:"44vh",overflowY:"auto"},children:R.map(e=>(0,s.jsxs)("label",{className:"row",style:{cursor:"pointer"},children:[(0,s.jsx)("input",{type:"checkbox",checked:b.has(e.path),onChange:()=>{let t;return t=e.path,w(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})},style:{marginInlineEnd:10}}),(0,s.jsxs)("span",{className:"grow",children:[(0,s.jsx)("strong",{children:e.name}),(0,s.jsx)("span",{className:"path",style:{display:"block"},children:e.path})]})]},e.path))}),(null==U?void 0:U.failed)&&R.length>0&&(0,s.jsx)("p",{className:"meta",children:m.UI.firstLight.sweepFailed}),_&&(0,s.jsx)("p",{className:"meta mcp-hint",children:m.UI.firstLight.mcpHint}),C&&(0,s.jsx)("p",{className:"error-line",children:C}),_&&(0,s.jsx)("div",{className:"setup-actions",style:{marginBlockStart:20},children:(0,s.jsx)("button",{className:"btn primary",disabled:S,onClick:P,children:S?m.UI.firstLight.watching:0===R.length?m.UI.firstLight.goInEmpty:0===b.size?m.UI.firstLight.continueWithout:m.UI.firstLight.startWatching(b.size)})})]}))}},9964:(e,t,n)=>{Promise.resolve().then(n.bind(n,5300))}},e=>{e.O(0,[3192,8441,1255,7358],()=>e(e.s=9964)),_N_E=e.O()}]);