@tscircuit/fake-snippets 0.0.120 → 0.0.122

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 (612) hide show
  1. package/dist/bundle.js +1 -2
  2. package/package.json +4 -1
  3. package/.github/CODEOWNERS +0 -1
  4. package/.github/workflows/bun-formatcheck.yml +0 -26
  5. package/.github/workflows/bun-pver-release.yml +0 -28
  6. package/.github/workflows/bun-test.yml +0 -28
  7. package/.github/workflows/bun-typecheck.yml +0 -26
  8. package/.github/workflows/bundle-size-analysis.yml +0 -79
  9. package/.github/workflows/stale.yml +0 -40
  10. package/.github/workflows/update-package.yml +0 -58
  11. package/.github/workflows/update-snapshots.yml +0 -49
  12. package/CLAUDE.md +0 -92
  13. package/CONTRIBUTING.md +0 -59
  14. package/api/generated-index.js +0 -456
  15. package/biome.json +0 -67
  16. package/bun-tests/fake-snippets-api/fixtures/get-test-server.ts +0 -141
  17. package/bun-tests/fake-snippets-api/fixtures/preload.ts +0 -18
  18. package/bun-tests/fake-snippets-api/fixtures/start-server.ts +0 -48
  19. package/bun-tests/fake-snippets-api/routes/accounts/get.test.ts +0 -64
  20. package/bun-tests/fake-snippets-api/routes/accounts/get_account_balance.test.ts +0 -14
  21. package/bun-tests/fake-snippets-api/routes/ai_reviews/create.test.ts +0 -21
  22. package/bun-tests/fake-snippets-api/routes/ai_reviews/get.test.ts +0 -16
  23. package/bun-tests/fake-snippets-api/routes/ai_reviews/list.test.ts +0 -14
  24. package/bun-tests/fake-snippets-api/routes/ai_reviews/process_review.test.ts +0 -16
  25. package/bun-tests/fake-snippets-api/routes/bug_reports/create.test.ts +0 -37
  26. package/bun-tests/fake-snippets-api/routes/bug_reports/upload_file.test.ts +0 -89
  27. package/bun-tests/fake-snippets-api/routes/datasheets/create.test.ts +0 -16
  28. package/bun-tests/fake-snippets-api/routes/datasheets/get.test.ts +0 -54
  29. package/bun-tests/fake-snippets-api/routes/datasheets/list.test.ts +0 -49
  30. package/bun-tests/fake-snippets-api/routes/datasheets/process_all_datasheets.test.ts +0 -22
  31. package/bun-tests/fake-snippets-api/routes/datasheets/run_async_tasks.test.ts +0 -19
  32. package/bun-tests/fake-snippets-api/routes/health.test.ts +0 -9
  33. package/bun-tests/fake-snippets-api/routes/order_files/get.test.ts +0 -48
  34. package/bun-tests/fake-snippets-api/routes/order_files/upload.test.ts +0 -77
  35. package/bun-tests/fake-snippets-api/routes/order_quotes/create.test.ts +0 -33
  36. package/bun-tests/fake-snippets-api/routes/orders/create.test.ts +0 -17
  37. package/bun-tests/fake-snippets-api/routes/orders/get.test.ts +0 -199
  38. package/bun-tests/fake-snippets-api/routes/orders/list.test.ts +0 -30
  39. package/bun-tests/fake-snippets-api/routes/orgs/add_member.test.ts +0 -26
  40. package/bun-tests/fake-snippets-api/routes/orgs/create.test.ts +0 -37
  41. package/bun-tests/fake-snippets-api/routes/orgs/get.test.ts +0 -53
  42. package/bun-tests/fake-snippets-api/routes/orgs/get_member.test.ts +0 -110
  43. package/bun-tests/fake-snippets-api/routes/orgs/list.test.ts +0 -17
  44. package/bun-tests/fake-snippets-api/routes/orgs/list_members.test.ts +0 -24
  45. package/bun-tests/fake-snippets-api/routes/orgs/remove_member.test.ts +0 -81
  46. package/bun-tests/fake-snippets-api/routes/orgs/update.test.ts +0 -151
  47. package/bun-tests/fake-snippets-api/routes/package_builds/get.test.ts +0 -279
  48. package/bun-tests/fake-snippets-api/routes/package_builds/list.test.ts +0 -292
  49. package/bun-tests/fake-snippets-api/routes/package_files/create.test.ts +0 -320
  50. package/bun-tests/fake-snippets-api/routes/package_files/create_or_update.test.ts +0 -603
  51. package/bun-tests/fake-snippets-api/routes/package_files/delete.test.ts +0 -233
  52. package/bun-tests/fake-snippets-api/routes/package_files/download.test.ts +0 -248
  53. package/bun-tests/fake-snippets-api/routes/package_files/get.test.ts +0 -230
  54. package/bun-tests/fake-snippets-api/routes/package_files/list.test.ts +0 -212
  55. package/bun-tests/fake-snippets-api/routes/package_releases/create.test.ts +0 -171
  56. package/bun-tests/fake-snippets-api/routes/package_releases/get.test.ts +0 -181
  57. package/bun-tests/fake-snippets-api/routes/package_releases/get_image_generation_fields.test.ts +0 -38
  58. package/bun-tests/fake-snippets-api/routes/package_releases/list.test.ts +0 -149
  59. package/bun-tests/fake-snippets-api/routes/package_releases/update.test.ts +0 -160
  60. package/bun-tests/fake-snippets-api/routes/packages/add_star.test.ts +0 -129
  61. package/bun-tests/fake-snippets-api/routes/packages/create.test.ts +0 -67
  62. package/bun-tests/fake-snippets-api/routes/packages/delete.test.ts +0 -74
  63. package/bun-tests/fake-snippets-api/routes/packages/fork.test.ts +0 -132
  64. package/bun-tests/fake-snippets-api/routes/packages/get.test.ts +0 -112
  65. package/bun-tests/fake-snippets-api/routes/packages/images.test.ts +0 -72
  66. package/bun-tests/fake-snippets-api/routes/packages/list-1.test.ts +0 -145
  67. package/bun-tests/fake-snippets-api/routes/packages/list-2.test.ts +0 -48
  68. package/bun-tests/fake-snippets-api/routes/packages/list_latest.test.ts +0 -110
  69. package/bun-tests/fake-snippets-api/routes/packages/list_trending.test.ts +0 -103
  70. package/bun-tests/fake-snippets-api/routes/packages/remove_star.test.ts +0 -131
  71. package/bun-tests/fake-snippets-api/routes/packages/update.test.ts +0 -217
  72. package/bun-tests/fake-snippets-api/routes/proxy.test.ts +0 -42
  73. package/bun.lock +0 -2724
  74. package/bunfig.toml +0 -3
  75. package/components.json +0 -20
  76. package/docs/CIRCUIT_JSON_SOURCE_COMPONENT_OVERVIEW.md +0 -151
  77. package/fake-snippets-api/README.md +0 -6
  78. package/fake-snippets-api/biome.json +0 -47
  79. package/fake-snippets-api/bun.lockb +0 -0
  80. package/fake-snippets-api/lib/db/autoload-dev-packages.ts +0 -222
  81. package/fake-snippets-api/lib/db/autoload-packages.json +0 -8
  82. package/fake-snippets-api/lib/db/db-client.ts +0 -1857
  83. package/fake-snippets-api/lib/db/schema.ts +0 -502
  84. package/fake-snippets-api/lib/db/seed.ts +0 -1843
  85. package/fake-snippets-api/lib/index.ts +0 -3
  86. package/fake-snippets-api/lib/middleware/with-ctx-error.ts +0 -26
  87. package/fake-snippets-api/lib/middleware/with-db.ts +0 -15
  88. package/fake-snippets-api/lib/middleware/with-error-handling.ts +0 -24
  89. package/fake-snippets-api/lib/middleware/with-optional-session-auth.ts +0 -53
  90. package/fake-snippets-api/lib/middleware/with-request-logging.ts +0 -54
  91. package/fake-snippets-api/lib/middleware/with-session-auth.ts +0 -102
  92. package/fake-snippets-api/lib/middleware/with-winter-spec.ts +0 -24
  93. package/fake-snippets-api/lib/package_file/generate-fs-sha.ts +0 -20
  94. package/fake-snippets-api/lib/package_file/get-package-file-id-from-file-descriptor.ts +0 -173
  95. package/fake-snippets-api/lib/package_release/find-package-release-id.ts +0 -120
  96. package/fake-snippets-api/lib/public-mapping/public-map-org.ts +0 -34
  97. package/fake-snippets-api/lib/public-mapping/public-map-package-build.ts +0 -48
  98. package/fake-snippets-api/lib/public-mapping/public-map-package-release.ts +0 -88
  99. package/fake-snippets-api/lib/public-mapping/public-map-package.ts +0 -60
  100. package/fake-snippets-api/lib/with-winter-spec.ts +0 -1
  101. package/fake-snippets-api/next-env.d.ts +0 -5
  102. package/fake-snippets-api/routes/api/_fake/ai_reviews/process_review.ts +0 -31
  103. package/fake-snippets-api/routes/api/_fake/datasheets/process_all_datasheets.ts +0 -38
  104. package/fake-snippets-api/routes/api/_fake/db.ts +0 -11
  105. package/fake-snippets-api/routes/api/_fake/move_orders_forward.ts +0 -65
  106. package/fake-snippets-api/routes/api/_fake/received_quotes.ts +0 -112
  107. package/fake-snippets-api/routes/api/_fake/run_async_tasks.ts +0 -12
  108. package/fake-snippets-api/routes/api/_fake/seed.ts +0 -13
  109. package/fake-snippets-api/routes/api/accounts/get.ts +0 -35
  110. package/fake-snippets-api/routes/api/accounts/get_account_balance.ts +0 -22
  111. package/fake-snippets-api/routes/api/accounts/search.ts +0 -20
  112. package/fake-snippets-api/routes/api/accounts/update.ts +0 -32
  113. package/fake-snippets-api/routes/api/ai/[...anyroute].ts +0 -31
  114. package/fake-snippets-api/routes/api/ai.ts +0 -2
  115. package/fake-snippets-api/routes/api/ai_reviews/create.ts +0 -44
  116. package/fake-snippets-api/routes/api/ai_reviews/get.ts +0 -24
  117. package/fake-snippets-api/routes/api/ai_reviews/list.ts +0 -14
  118. package/fake-snippets-api/routes/api/aistream/[...anyroute].ts +0 -65
  119. package/fake-snippets-api/routes/api/autocomplete/create_autocomplete.ts +0 -16
  120. package/fake-snippets-api/routes/api/bug_reports/create.ts +0 -43
  121. package/fake-snippets-api/routes/api/bug_reports/upload_file.ts +0 -113
  122. package/fake-snippets-api/routes/api/datasheets/create.ts +0 -18
  123. package/fake-snippets-api/routes/api/datasheets/get.ts +0 -35
  124. package/fake-snippets-api/routes/api/datasheets/list.ts +0 -29
  125. package/fake-snippets-api/routes/api/github/installations/create_new_installation_redirect.ts +0 -75
  126. package/fake-snippets-api/routes/api/github/repos/list_available.ts +0 -91
  127. package/fake-snippets-api/routes/api/github/repos/refresh.ts +0 -44
  128. package/fake-snippets-api/routes/api/health.ts +0 -9
  129. package/fake-snippets-api/routes/api/internal/sessions/create_without_auth.ts +0 -63
  130. package/fake-snippets-api/routes/api/order_files/get.ts +0 -28
  131. package/fake-snippets-api/routes/api/order_files/upload.ts +0 -46
  132. package/fake-snippets-api/routes/api/order_quotes/create.ts +0 -60
  133. package/fake-snippets-api/routes/api/order_quotes/create_all_vendor_quotes.ts +0 -30
  134. package/fake-snippets-api/routes/api/order_quotes/get.ts +0 -29
  135. package/fake-snippets-api/routes/api/orders/create.ts +0 -70
  136. package/fake-snippets-api/routes/api/orders/get.ts +0 -168
  137. package/fake-snippets-api/routes/api/orders/list.ts +0 -15
  138. package/fake-snippets-api/routes/api/orgs/add_member.ts +0 -52
  139. package/fake-snippets-api/routes/api/orgs/create.ts +0 -48
  140. package/fake-snippets-api/routes/api/orgs/get.ts +0 -39
  141. package/fake-snippets-api/routes/api/orgs/get_member.ts +0 -67
  142. package/fake-snippets-api/routes/api/orgs/list.ts +0 -31
  143. package/fake-snippets-api/routes/api/orgs/list_members.ts +0 -106
  144. package/fake-snippets-api/routes/api/orgs/remove_member.ts +0 -46
  145. package/fake-snippets-api/routes/api/orgs/update.ts +0 -118
  146. package/fake-snippets-api/routes/api/package_builds/get.ts +0 -70
  147. package/fake-snippets-api/routes/api/package_builds/list.ts +0 -97
  148. package/fake-snippets-api/routes/api/package_files/create.ts +0 -135
  149. package/fake-snippets-api/routes/api/package_files/create_or_update.ts +0 -194
  150. package/fake-snippets-api/routes/api/package_files/delete.ts +0 -109
  151. package/fake-snippets-api/routes/api/package_files/download.ts +0 -87
  152. package/fake-snippets-api/routes/api/package_files/get.ts +0 -68
  153. package/fake-snippets-api/routes/api/package_files/list.ts +0 -54
  154. package/fake-snippets-api/routes/api/package_releases/create.ts +0 -109
  155. package/fake-snippets-api/routes/api/package_releases/get.ts +0 -137
  156. package/fake-snippets-api/routes/api/package_releases/list.ts +0 -85
  157. package/fake-snippets-api/routes/api/package_releases/rebuild.ts +0 -66
  158. package/fake-snippets-api/routes/api/package_releases/update.ts +0 -122
  159. package/fake-snippets-api/routes/api/packages/add_star.ts +0 -84
  160. package/fake-snippets-api/routes/api/packages/create.ts +0 -136
  161. package/fake-snippets-api/routes/api/packages/delete.ts +0 -41
  162. package/fake-snippets-api/routes/api/packages/fork.ts +0 -165
  163. package/fake-snippets-api/routes/api/packages/generate_from_jlcpcb.ts +0 -111
  164. package/fake-snippets-api/routes/api/packages/get.ts +0 -81
  165. package/fake-snippets-api/routes/api/packages/images/[owner_github_username]/[unscoped_name]/[view_format].ts +0 -119
  166. package/fake-snippets-api/routes/api/packages/list.ts +0 -105
  167. package/fake-snippets-api/routes/api/packages/list_latest.ts +0 -29
  168. package/fake-snippets-api/routes/api/packages/list_trending.ts +0 -43
  169. package/fake-snippets-api/routes/api/packages/remove_star.ts +0 -70
  170. package/fake-snippets-api/routes/api/packages/search.ts +0 -19
  171. package/fake-snippets-api/routes/api/packages/update.ts +0 -112
  172. package/fake-snippets-api/routes/api/packages/update_ai_description.ts +0 -37
  173. package/fake-snippets-api/routes/api/proxy.ts +0 -128
  174. package/fake-snippets-api/routes/api/snippets/add_star.ts +0 -62
  175. package/fake-snippets-api/routes/api/snippets/create.ts +0 -184
  176. package/fake-snippets-api/routes/api/snippets/delete.ts +0 -41
  177. package/fake-snippets-api/routes/api/snippets/download.ts +0 -162
  178. package/fake-snippets-api/routes/api/snippets/generate_from_jlcpcb.ts +0 -48
  179. package/fake-snippets-api/routes/api/snippets/get.ts +0 -83
  180. package/fake-snippets-api/routes/api/snippets/get_image.ts +0 -65
  181. package/fake-snippets-api/routes/api/snippets/images/[author]/[snippet_name]/[typeFormat].ts +0 -80
  182. package/fake-snippets-api/routes/api/snippets/list.ts +0 -151
  183. package/fake-snippets-api/routes/api/snippets/list_latest.ts +0 -13
  184. package/fake-snippets-api/routes/api/snippets/list_trending.ts +0 -38
  185. package/fake-snippets-api/routes/api/snippets/remove_star.ts +0 -42
  186. package/fake-snippets-api/routes/api/snippets/search.ts +0 -18
  187. package/fake-snippets-api/routes/api/snippets/update.ts +0 -114
  188. package/fake-snippets-api/utils/normalizeProjectFilePath.ts +0 -60
  189. package/fake-snippets-api/utils/order-steps.ts +0 -20
  190. package/favicon.ico +0 -0
  191. package/index.html +0 -125
  192. package/landing.html +0 -23
  193. package/playwright-tests/ai-page.spec.ts +0 -19
  194. package/playwright-tests/circuit-json-import.spec.ts +0 -133
  195. package/playwright-tests/cmd-click.spec.ts +0 -43
  196. package/playwright-tests/dashboard-page.spec.ts +0 -10
  197. package/playwright-tests/editor-page.spec.ts +0 -15
  198. package/playwright-tests/exampleCircuitJson.ts +0 -498
  199. package/playwright-tests/files-dialog.spec.ts +0 -19
  200. package/playwright-tests/footprint-dialog/footprint-dialog.spec.ts +0 -27
  201. package/playwright-tests/footprint-dialog/footprint-insertion.spec.ts +0 -38
  202. package/playwright-tests/footprint-dialog/footprint-preview.spec.ts +0 -34
  203. package/playwright-tests/footprint-dialog/footprint-selection.spec.ts +0 -29
  204. package/playwright-tests/handle-manual-edits.spec.ts +0 -55
  205. package/playwright-tests/home-page.spec.ts +0 -10
  206. package/playwright-tests/images.spec.ts +0 -17
  207. package/playwright-tests/manual-edits.spec.ts +0 -89
  208. package/playwright-tests/preview-page.spec.ts +0 -7
  209. package/playwright-tests/profile-page.spec.ts +0 -108
  210. package/playwright-tests/quickstart-page.spec.ts +0 -10
  211. package/playwright-tests/search-links.spec.ts +0 -21
  212. package/playwright-tests/search.spec.ts +0 -27
  213. package/playwright-tests/snapshots/ai-page.spec.ts-AI-Page-lg.png +0 -0
  214. package/playwright-tests/snapshots/ai-page.spec.ts-AI-Page-md.png +0 -0
  215. package/playwright-tests/snapshots/ai-page.spec.ts-AI-Page-xs.png +0 -0
  216. package/playwright-tests/snapshots/cmd-click.spec.ts-underlined-imports.png +0 -0
  217. package/playwright-tests/snapshots/dashboard-page.spec.ts-Dashboard-page-lg.png +0 -0
  218. package/playwright-tests/snapshots/dashboard-page.spec.ts-Dashboard-page-md.png +0 -0
  219. package/playwright-tests/snapshots/dashboard-page.spec.ts-Dashboard-page-xs.png +0 -0
  220. package/playwright-tests/snapshots/editor-page.spec.ts-editor-with-snippet.png +0 -0
  221. package/playwright-tests/snapshots/error-fallback.spec.ts-error-fallback-lg.png +0 -0
  222. package/playwright-tests/snapshots/error-fallback.spec.ts-error-fallback-md.png +0 -0
  223. package/playwright-tests/snapshots/error-fallback.spec.ts-error-fallback-xs.png +0 -0
  224. package/playwright-tests/snapshots/files-dialog.spec.ts-view-snippet-files.png +0 -0
  225. package/playwright-tests/snapshots/footprint-dialog/footprint-dialog.spec.ts-footprint-preview-lg.png +0 -0
  226. package/playwright-tests/snapshots/footprint-dialog/footprint-dialog.spec.ts-footprint-preview-md.png +0 -0
  227. package/playwright-tests/snapshots/footprint-dialog/footprint-dialog.spec.ts-footprint-preview-xs.png +0 -0
  228. package/playwright-tests/snapshots/footprint-dialog/footprint-insertion.spec.ts-footprint-insertion-lg.png +0 -0
  229. package/playwright-tests/snapshots/footprint-dialog/footprint-insertion.spec.ts-footprint-insertion-md.png +0 -0
  230. package/playwright-tests/snapshots/footprint-dialog/footprint-insertion.spec.ts-footprint-insertion-xs.png +0 -0
  231. package/playwright-tests/snapshots/footprint-dialog/footprint-preview.spec.ts-footprint-preview-lg.png +0 -0
  232. package/playwright-tests/snapshots/footprint-dialog/footprint-preview.spec.ts-footprint-preview-md.png +0 -0
  233. package/playwright-tests/snapshots/footprint-dialog/footprint-preview.spec.ts-footprint-preview-xs.png +0 -0
  234. package/playwright-tests/snapshots/footprint-dialog/footprint-selection.spec.ts-footprint-preview-lg.png +0 -0
  235. package/playwright-tests/snapshots/footprint-dialog/footprint-selection.spec.ts-footprint-preview-md.png +0 -0
  236. package/playwright-tests/snapshots/footprint-dialog/footprint-selection.spec.ts-footprint-preview-xs.png +0 -0
  237. package/playwright-tests/snapshots/handle-manual-edits.spec.ts-handle-manual-edits.png +0 -0
  238. package/playwright-tests/snapshots/home-page.spec.ts-Home-page-lg.png +0 -0
  239. package/playwright-tests/snapshots/home-page.spec.ts-Home-page-md.png +0 -0
  240. package/playwright-tests/snapshots/home-page.spec.ts-Home-page-xs.png +0 -0
  241. package/playwright-tests/snapshots/images.spec.ts-pcb-image.png +0 -0
  242. package/playwright-tests/snapshots/images.spec.ts-schematic-image.png +0 -0
  243. package/playwright-tests/snapshots/manual-edits.spec.ts-editor-manual-edits.png +0 -0
  244. package/playwright-tests/snapshots/manual-edits.spec.ts-manual-edits-view.png +0 -0
  245. package/playwright-tests/snapshots/preview-page.spec.ts-preview-snippet-pcb.png +0 -0
  246. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-before-delete.png +0 -0
  247. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-delete-dialog.png +0 -0
  248. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-dropdown-open.png +0 -0
  249. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-snippets-tab.png +0 -0
  250. package/playwright-tests/snapshots/profile-page.spec.ts-profile-page-starred-tab.png +0 -0
  251. package/playwright-tests/snapshots/profile-page.spec.ts-snippet-page-open-after-star-click.png +0 -0
  252. package/playwright-tests/snapshots/quickstart-page.spec.ts-Quickstart-Pagelg.png +0 -0
  253. package/playwright-tests/snapshots/quickstart-page.spec.ts-Quickstart-Pagemd.png +0 -0
  254. package/playwright-tests/snapshots/quickstart-page.spec.ts-Quickstart-Pagexs.png +0 -0
  255. package/playwright-tests/snapshots/search-links.spec.ts-search-links.png +0 -0
  256. package/playwright-tests/snapshots/search.spec.ts-search-lg.png +0 -0
  257. package/playwright-tests/snapshots/search.spec.ts-search-md.png +0 -0
  258. package/playwright-tests/snapshots/search.spec.ts-search-xs.png +0 -0
  259. package/playwright-tests/snapshots/star.spec.ts-remove-star-button.png +0 -0
  260. package/playwright-tests/snapshots/star.spec.ts-star-button.png +0 -0
  261. package/playwright-tests/snapshots/update-description.spec.ts-update-description.png +0 -0
  262. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-after-lg.png +0 -0
  263. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-after-md.png +0 -0
  264. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-after-xs.png +0 -0
  265. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-before-lg.png +0 -0
  266. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-before-md.png +0 -0
  267. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-before-xs.png +0 -0
  268. package/playwright-tests/snapshots/view-snippet.spec.ts-view-snippet-files.png +0 -0
  269. package/playwright-tests/star.spec.ts +0 -40
  270. package/playwright-tests/update-description.spec.ts +0 -18
  271. package/playwright-tests/view-snippet.spec.ts +0 -35
  272. package/playwright-tests/viewports.ts +0 -5
  273. package/playwright.config.ts +0 -27
  274. package/postcss.config.js +0 -6
  275. package/public/robots.txt +0 -9
  276. package/renovate.json +0 -25
  277. package/scripts/generate-image-sizes.ts +0 -57
  278. package/scripts/generate-sitemap.ts +0 -103
  279. package/scripts/generate_bundle_stats.js +0 -208
  280. package/scripts/snapshot.ts +0 -35
  281. package/src/App.tsx +0 -314
  282. package/src/ContextProviders.tsx +0 -94
  283. package/src/assets/originals/editor_example_1.webp +0 -0
  284. package/src/assets/originals/editor_example_1_more_square.webp +0 -0
  285. package/src/assets/originals/editor_example_2.webp +0 -0
  286. package/src/assets/originals/example_schematic.webp +0 -0
  287. package/src/components/AiChatMessage.tsx +0 -86
  288. package/src/components/Analytics.tsx +0 -23
  289. package/src/components/BomTable.tsx +0 -69
  290. package/src/components/ChatInput.tsx +0 -53
  291. package/src/components/CircuitJsonImportDialog.tsx +0 -269
  292. package/src/components/CircuitToSvgWithMouseControl.tsx +0 -78
  293. package/src/components/CmdKMenu.tsx +0 -809
  294. package/src/components/CreateNewSnippetWithAiHero.tsx +0 -81
  295. package/src/components/CreateReleaseDialog.tsx +0 -124
  296. package/src/components/DownloadButtonAndMenu.tsx +0 -443
  297. package/src/components/ErrorFallback.tsx +0 -25
  298. package/src/components/ErrorOutline.tsx +0 -35
  299. package/src/components/ErrorTabContent.tsx +0 -122
  300. package/src/components/ExpandableText.tsx +0 -29
  301. package/src/components/FAQ.tsx +0 -189
  302. package/src/components/FileSidebar.tsx +0 -271
  303. package/src/components/Footer.tsx +0 -144
  304. package/src/components/GithubAvatarWithFallback.tsx +0 -35
  305. package/src/components/Header.tsx +0 -202
  306. package/src/components/Header2.tsx +0 -202
  307. package/src/components/HeaderDropdown.tsx +0 -88
  308. package/src/components/HeaderLogin.tsx +0 -105
  309. package/src/components/HiddenFilesDropdown.tsx +0 -42
  310. package/src/components/ImageWithFallback.tsx +0 -37
  311. package/src/components/LatestSnippets.tsx +0 -39
  312. package/src/components/NotFound.tsx +0 -37
  313. package/src/components/OptimizedImage.tsx +0 -100
  314. package/src/components/PackageBreadcrumb.tsx +0 -105
  315. package/src/components/PackageBuildsPage/ErrorObject.ts +0 -12
  316. package/src/components/PackageBuildsPage/capitalCase.ts +0 -4
  317. package/src/components/PackageBuildsPage/getColorForDisplayStatus.ts +0 -17
  318. package/src/components/PackageCard.tsx +0 -191
  319. package/src/components/PackageCardSkeleton.tsx +0 -17
  320. package/src/components/PackageLink.tsx +0 -29
  321. package/src/components/PackageSearchResults.tsx +0 -81
  322. package/src/components/PackagesList.tsx +0 -71
  323. package/src/components/PcbViewerWithContainerHeight.tsx +0 -47
  324. package/src/components/PrefetchPageLink.tsx +0 -114
  325. package/src/components/PreviewEmptyState.tsx +0 -16
  326. package/src/components/ProfileRouter.tsx +0 -30
  327. package/src/components/RunButton.tsx +0 -27
  328. package/src/components/SearchComponent.tsx +0 -282
  329. package/src/components/SentryNotFoundReporter.tsx +0 -44
  330. package/src/components/SnippetTypeIcon.tsx +0 -60
  331. package/src/components/StaticPreviewContent.tsx +0 -89
  332. package/src/components/StaticViewSnippetSidebar.tsx +0 -100
  333. package/src/components/SuspenseRunFrame.tsx +0 -28
  334. package/src/components/TableViewer/CircuitJsonTableViewer.tsx +0 -316
  335. package/src/components/TableViewer/ClickableText.tsx +0 -21
  336. package/src/components/TableViewer/HeaderCell.tsx +0 -27
  337. package/src/components/TableViewer/Modal.tsx +0 -39
  338. package/src/components/TrendingPackagesCarousel.tsx +0 -79
  339. package/src/components/TypeBadge.tsx +0 -31
  340. package/src/components/UserCard.tsx +0 -80
  341. package/src/components/ViewPackagePage/components/ShikiCodeViewer.tsx +0 -49
  342. package/src/components/ViewPackagePage/components/build-status.tsx +0 -38
  343. package/src/components/ViewPackagePage/components/important-files-view.tsx +0 -611
  344. package/src/components/ViewPackagePage/components/main-content-header.tsx +0 -181
  345. package/src/components/ViewPackagePage/components/main-content-view-selector.tsx +0 -167
  346. package/src/components/ViewPackagePage/components/markdown-viewer.tsx +0 -88
  347. package/src/components/ViewPackagePage/components/mobile-sidebar.tsx +0 -301
  348. package/src/components/ViewPackagePage/components/package-header.tsx +0 -264
  349. package/src/components/ViewPackagePage/components/preview-image-squares.tsx +0 -47
  350. package/src/components/ViewPackagePage/components/repo-page-content.tsx +0 -266
  351. package/src/components/ViewPackagePage/components/sidebar-about-section.tsx +0 -223
  352. package/src/components/ViewPackagePage/components/sidebar-packages-section.tsx +0 -16
  353. package/src/components/ViewPackagePage/components/sidebar-releases-section.tsx +0 -126
  354. package/src/components/ViewPackagePage/components/sidebar.tsx +0 -29
  355. package/src/components/ViewPackagePage/components/tab-views/3d-view.tsx +0 -43
  356. package/src/components/ViewPackagePage/components/tab-views/bom-view.tsx +0 -30
  357. package/src/components/ViewPackagePage/components/tab-views/files-view.tsx +0 -295
  358. package/src/components/ViewPackagePage/components/tab-views/pcb-view.tsx +0 -35
  359. package/src/components/ViewPackagePage/components/tab-views/schematic-view.tsx +0 -38
  360. package/src/components/ViewPackagePage/components/theme-toggle.tsx +0 -40
  361. package/src/components/ViewPackagePage/hooks/use-current-package-circuit-json.ts +0 -46
  362. package/src/components/ViewPackagePage/hooks/use-mobile.tsx +0 -19
  363. package/src/components/ViewPackagePage/hooks/use-toast.tsx +0 -69
  364. package/src/components/ViewPackagePage/utils/fuzz-search.ts +0 -121
  365. package/src/components/ViewPackagePage/utils/get-license-content.ts +0 -119
  366. package/src/components/ViewPackagePage/utils/is-hidden-file.ts +0 -55
  367. package/src/components/ViewPackagePage/utils/is-package-file-important.ts +0 -35
  368. package/src/components/ViewPackagePage/utils/is-within-directory.ts +0 -32
  369. package/src/components/dialogs/GitHubRepositorySelector.tsx +0 -300
  370. package/src/components/dialogs/confirm-delete-package-dialog.tsx +0 -74
  371. package/src/components/dialogs/confirm-discard-changes-dialog.tsx +0 -73
  372. package/src/components/dialogs/create-use-dialog.tsx +0 -40
  373. package/src/components/dialogs/edit-description-dialog.tsx +0 -96
  374. package/src/components/dialogs/edit-package-details-dialog.tsx +0 -474
  375. package/src/components/dialogs/files-dialog.tsx +0 -70
  376. package/src/components/dialogs/import-component-dialog.tsx +0 -32
  377. package/src/components/dialogs/import-package-dialog.tsx +0 -90
  378. package/src/components/dialogs/new-package-save-prompt-dialog.tsx +0 -199
  379. package/src/components/dialogs/package-visibility-settings-dialog.tsx +0 -93
  380. package/src/components/dialogs/pcb-download-dialog.tsx +0 -113
  381. package/src/components/dialogs/rename-package-dialog.tsx +0 -86
  382. package/src/components/dialogs/rename-snippet-dialog.tsx +0 -81
  383. package/src/components/dialogs/update-package-description-dialog.tsx +0 -96
  384. package/src/components/dialogs/view-ts-files-dialog.tsx +0 -664
  385. package/src/components/organization/OrganizationCard.tsx +0 -202
  386. package/src/components/organization/OrganizationCardSkeleton.tsx +0 -55
  387. package/src/components/organization/OrganizationHeader.tsx +0 -140
  388. package/src/components/organization/OrganizationMembers.tsx +0 -117
  389. package/src/components/package-port/CodeAndPreview.tsx +0 -253
  390. package/src/components/package-port/CodeEditor.tsx +0 -866
  391. package/src/components/package-port/CodeEditorHeader.tsx +0 -427
  392. package/src/components/package-port/EditorNav.tsx +0 -606
  393. package/src/components/package-port/GlobalFindReplace.tsx +0 -681
  394. package/src/components/package-port/QuickOpen.tsx +0 -241
  395. package/src/components/preview/BuildsList.tsx +0 -237
  396. package/src/components/preview/ConnectedPackagesList.tsx +0 -229
  397. package/src/components/preview/ConnectedRepoOverview.tsx +0 -588
  398. package/src/components/preview/PackageReleasesDashboard.tsx +0 -228
  399. package/src/components/preview/index.tsx +0 -54
  400. package/src/components/ui/accordion.tsx +0 -55
  401. package/src/components/ui/alert-dialog.tsx +0 -139
  402. package/src/components/ui/alert.tsx +0 -59
  403. package/src/components/ui/aspect-ratio.tsx +0 -5
  404. package/src/components/ui/avatar.tsx +0 -48
  405. package/src/components/ui/badge.tsx +0 -36
  406. package/src/components/ui/breadcrumb.tsx +0 -118
  407. package/src/components/ui/button.tsx +0 -58
  408. package/src/components/ui/calendar.tsx +0 -73
  409. package/src/components/ui/card.tsx +0 -76
  410. package/src/components/ui/carousel.tsx +0 -260
  411. package/src/components/ui/chart.tsx +0 -363
  412. package/src/components/ui/checkbox.tsx +0 -28
  413. package/src/components/ui/collapsible.tsx +0 -9
  414. package/src/components/ui/combobox.tsx +0 -178
  415. package/src/components/ui/command.tsx +0 -151
  416. package/src/components/ui/context-menu.tsx +0 -202
  417. package/src/components/ui/dialog.tsx +0 -120
  418. package/src/components/ui/drawer.tsx +0 -116
  419. package/src/components/ui/dropdown-menu.tsx +0 -203
  420. package/src/components/ui/form.tsx +0 -182
  421. package/src/components/ui/hover-card.tsx +0 -27
  422. package/src/components/ui/input.tsx +0 -25
  423. package/src/components/ui/label.tsx +0 -24
  424. package/src/components/ui/menubar.tsx +0 -238
  425. package/src/components/ui/navigation-menu.tsx +0 -129
  426. package/src/components/ui/pagination.tsx +0 -121
  427. package/src/components/ui/popover.tsx +0 -31
  428. package/src/components/ui/progress.tsx +0 -26
  429. package/src/components/ui/radio-group.tsx +0 -42
  430. package/src/components/ui/resizable.tsx +0 -43
  431. package/src/components/ui/role-badge.tsx +0 -27
  432. package/src/components/ui/scroll-area.tsx +0 -46
  433. package/src/components/ui/searchable-select.tsx +0 -94
  434. package/src/components/ui/select.tsx +0 -162
  435. package/src/components/ui/separator.tsx +0 -29
  436. package/src/components/ui/sheet.tsx +0 -141
  437. package/src/components/ui/skeleton.tsx +0 -18
  438. package/src/components/ui/slider.tsx +0 -26
  439. package/src/components/ui/sonner.tsx +0 -30
  440. package/src/components/ui/switch.tsx +0 -27
  441. package/src/components/ui/table.tsx +0 -120
  442. package/src/components/ui/tabs.tsx +0 -53
  443. package/src/components/ui/textarea.tsx +0 -24
  444. package/src/components/ui/toast.tsx +0 -128
  445. package/src/components/ui/toaster.tsx +0 -1
  446. package/src/components/ui/toggle-group.tsx +0 -59
  447. package/src/components/ui/toggle.tsx +0 -43
  448. package/src/components/ui/tooltip.tsx +0 -28
  449. package/src/components/ui/tree-view.tsx +0 -563
  450. package/src/entry-server.tsx +0 -12
  451. package/src/hooks/use-account-balance.ts +0 -25
  452. package/src/hooks/use-add-org-member-mutation.ts +0 -51
  453. package/src/hooks/use-ai-api.ts +0 -35
  454. package/src/hooks/use-ai-review.ts +0 -31
  455. package/src/hooks/use-axios.ts +0 -20
  456. package/src/hooks/use-code-completion-ai-api.ts +0 -11
  457. package/src/hooks/use-copy-to-clipboard.ts +0 -26
  458. package/src/hooks/use-create-datasheet.ts +0 -30
  459. package/src/hooks/use-create-org-mutation.ts +0 -38
  460. package/src/hooks/use-create-package-files-mutation.ts +0 -76
  461. package/src/hooks/use-create-package-mutation.ts +0 -54
  462. package/src/hooks/use-create-package-release-mutation.ts +0 -107
  463. package/src/hooks/use-create-release-dialog.ts +0 -160
  464. package/src/hooks/use-create-snippet-mutation.ts +0 -65
  465. package/src/hooks/use-current-package-id.ts +0 -16
  466. package/src/hooks/use-current-package-info.ts +0 -32
  467. package/src/hooks/use-current-package-release.ts +0 -48
  468. package/src/hooks/use-current-snippet-id.ts +0 -78
  469. package/src/hooks/use-current-snippet.ts +0 -24
  470. package/src/hooks/use-datasheet.ts +0 -18
  471. package/src/hooks/use-debounce.ts +0 -17
  472. package/src/hooks/use-delete-package.ts +0 -45
  473. package/src/hooks/use-download-zip.ts +0 -50
  474. package/src/hooks/use-fork-package-mutation.ts +0 -61
  475. package/src/hooks/use-global-store.ts +0 -36
  476. package/src/hooks/use-hotkey.ts +0 -116
  477. package/src/hooks/use-hydration.ts +0 -30
  478. package/src/hooks/use-is-using-fake-api.ts +0 -3
  479. package/src/hooks/use-jlcpcb-component-import.tsx +0 -164
  480. package/src/hooks/use-list-org-members.ts +0 -32
  481. package/src/hooks/use-list-user-orgs.ts +0 -25
  482. package/src/hooks/use-now.ts +0 -12
  483. package/src/hooks/use-org-by-github-handle.ts +0 -24
  484. package/src/hooks/use-org.ts +0 -24
  485. package/src/hooks/use-organization.ts +0 -42
  486. package/src/hooks/use-package-as-snippet.ts +0 -81
  487. package/src/hooks/use-package-builds.ts +0 -91
  488. package/src/hooks/use-package-by-package-id.ts +0 -24
  489. package/src/hooks/use-package-by-package-name.ts +0 -29
  490. package/src/hooks/use-package-details-form.ts +0 -146
  491. package/src/hooks/use-package-files.ts +0 -122
  492. package/src/hooks/use-package-release-by-id-or-version.ts +0 -45
  493. package/src/hooks/use-package-release-images.ts +0 -105
  494. package/src/hooks/use-package-release.ts +0 -124
  495. package/src/hooks/use-package-stars.ts +0 -163
  496. package/src/hooks/use-package.ts +0 -24
  497. package/src/hooks/use-packages-base-api-url.ts +0 -3
  498. package/src/hooks/use-preview-images.ts +0 -78
  499. package/src/hooks/use-rebuild-package-release-mutation.ts +0 -41
  500. package/src/hooks/use-remove-org-member-mutation.ts +0 -32
  501. package/src/hooks/use-request-ai-review-mutation.ts +0 -54
  502. package/src/hooks/use-run-tsx/eval-compiled-js.ts +0 -9
  503. package/src/hooks/use-shiki-highlighter.ts +0 -33
  504. package/src/hooks/use-sign-in.ts +0 -24
  505. package/src/hooks/use-snippet-by-name.ts +0 -25
  506. package/src/hooks/use-snippet.ts +0 -24
  507. package/src/hooks/use-toast.tsx +0 -90
  508. package/src/hooks/use-update-ai-description-mutation.ts +0 -42
  509. package/src/hooks/use-update-org-mutation.ts +0 -41
  510. package/src/hooks/use-url-params.ts +0 -31
  511. package/src/hooks/use-warn-user-on-page-change.ts +0 -90
  512. package/src/hooks/useFileManagement.ts +0 -602
  513. package/src/hooks/useForkPackageMutation.ts +0 -50
  514. package/src/hooks/useForkSnippetMutation.ts +0 -53
  515. package/src/hooks/useOptimizedPackageFilesLoader.ts +0 -136
  516. package/src/hooks/usePackageFilesLoader.ts +0 -58
  517. package/src/hooks/useUpdatePackageFilesMutation.ts +0 -131
  518. package/src/hooks/useUpdatePackageMutation.ts +0 -63
  519. package/src/index.css +0 -108
  520. package/src/lib/__tests__/constants.test.ts +0 -66
  521. package/src/lib/base64ToBytes.ts +0 -5
  522. package/src/lib/bytesToBase64.ts +0 -4
  523. package/src/lib/codemirror/basic-setup.ts +0 -67
  524. package/src/lib/constants.ts +0 -23
  525. package/src/lib/decodeUrlHashToFsMap.ts +0 -17
  526. package/src/lib/decodeUrlHashToText.ts +0 -15
  527. package/src/lib/defaultCodeForBlankCode.tsx +0 -7
  528. package/src/lib/download-fns/createBlobURL.ts +0 -4
  529. package/src/lib/download-fns/download-assembly-svg.ts +0 -12
  530. package/src/lib/download-fns/download-circuit-json-fn.ts +0 -12
  531. package/src/lib/download-fns/download-circuit-png.ts +0 -96
  532. package/src/lib/download-fns/download-dsn-file-fn.ts +0 -12
  533. package/src/lib/download-fns/download-fabrication-files.ts +0 -233
  534. package/src/lib/download-fns/download-gltf-from-circuit-json.ts +0 -44
  535. package/src/lib/download-fns/download-gltf.ts +0 -43
  536. package/src/lib/download-fns/download-kicad-files.ts +0 -38
  537. package/src/lib/download-fns/download-pcb-svg.ts +0 -35
  538. package/src/lib/download-fns/download-png-utils.ts +0 -31
  539. package/src/lib/download-fns/download-readable-netlist.ts +0 -12
  540. package/src/lib/download-fns/download-schematic-svg.ts +0 -12
  541. package/src/lib/download-fns/download-simple-route-json.ts +0 -17
  542. package/src/lib/download-fns/download-spice-file.ts +0 -13
  543. package/src/lib/download-fns/download-step.ts +0 -12
  544. package/src/lib/encodeFsMapToUrlHash.ts +0 -13
  545. package/src/lib/encodeTextToUrlHash.ts +0 -17
  546. package/src/lib/get-snippet-template.ts +0 -26
  547. package/src/lib/getLicenseFromLicenseContent.ts +0 -67
  548. package/src/lib/handleManualEditsImport.tsx +0 -65
  549. package/src/lib/handleManualEditsImportWithSupportForMultipleFiles.ts +0 -67
  550. package/src/lib/normalize-svg-for-tile.ts +0 -50
  551. package/src/lib/populate-query-cache-with-ssr-data.ts +0 -53
  552. package/src/lib/posthog.ts +0 -17
  553. package/src/lib/react-query-api-failure-tracking.ts +0 -148
  554. package/src/lib/sentry.ts +0 -14
  555. package/src/lib/templates/blank-3d-model-template.ts +0 -12
  556. package/src/lib/templates/blank-circuit-board-template.ts +0 -20
  557. package/src/lib/templates/blank-footprint-template.ts +0 -29
  558. package/src/lib/templates/blank-package-template.ts +0 -21
  559. package/src/lib/templates/blinking-led-board-template.ts +0 -64
  560. package/src/lib/templates/usb-c-led-flashlight-template.ts +0 -22
  561. package/src/lib/ts-lib-cache.ts +0 -162
  562. package/src/lib/types.ts +0 -31
  563. package/src/lib/utils/checkIfManualEditsImported.ts +0 -20
  564. package/src/lib/utils/findTargetFile.ts +0 -97
  565. package/src/lib/utils/formatTimeAgo.ts +0 -10
  566. package/src/lib/utils/getPackagePreviewImageUrl.ts +0 -15
  567. package/src/lib/utils/index.ts +0 -6
  568. package/src/lib/utils/isComponentExported.ts +0 -10
  569. package/src/lib/utils/isUuid.ts +0 -5
  570. package/src/lib/utils/isValidFileName.ts +0 -17
  571. package/src/lib/utils/load-prettier.ts +0 -23
  572. package/src/lib/utils/member-role.tsx +0 -61
  573. package/src/lib/utils/package-utils.ts +0 -7
  574. package/src/lib/utils/parseJsonOrNull.ts +0 -8
  575. package/src/lib/utils/pcbManualEditEventHandler.ts +0 -156
  576. package/src/lib/utils/resolveRelativePath.ts +0 -40
  577. package/src/lib/utils/timeAgo.ts +0 -20
  578. package/src/lib/utils/toastManualEditConflicts.tsx +0 -39
  579. package/src/lib/utils/transformFilesToTreeData.tsx +0 -195
  580. package/src/main.tsx +0 -15
  581. package/src/pages/404.tsx +0 -23
  582. package/src/pages/authorize.tsx +0 -208
  583. package/src/pages/create-organization.tsx +0 -169
  584. package/src/pages/dashboard.tsx +0 -254
  585. package/src/pages/datasheet.tsx +0 -198
  586. package/src/pages/datasheets.tsx +0 -148
  587. package/src/pages/dev-login.tsx +0 -68
  588. package/src/pages/editor.tsx +0 -54
  589. package/src/pages/landing.tsx +0 -237
  590. package/src/pages/latest.tsx +0 -145
  591. package/src/pages/my-orders.tsx +0 -54
  592. package/src/pages/organization-profile.tsx +0 -197
  593. package/src/pages/organization-settings.tsx +0 -571
  594. package/src/pages/package-editor.tsx +0 -60
  595. package/src/pages/preview-release.tsx +0 -209
  596. package/src/pages/quickstart.tsx +0 -258
  597. package/src/pages/release-builds.tsx +0 -99
  598. package/src/pages/release-detail.tsx +0 -211
  599. package/src/pages/releases.tsx +0 -55
  600. package/src/pages/search.tsx +0 -288
  601. package/src/pages/settings-redirect.tsx +0 -44
  602. package/src/pages/trending.tsx +0 -201
  603. package/src/pages/user-profile.tsx +0 -330
  604. package/src/pages/user-settings.tsx +0 -161
  605. package/src/pages/view-package.tsx +0 -90
  606. package/src/types/package.ts +0 -4
  607. package/src/vite-env.d.ts +0 -1
  608. package/tailwind.config.js +0 -47
  609. package/tsconfig.json +0 -30
  610. package/vercel.json +0 -50
  611. package/vite.config.ts +0 -236
  612. package/winterspec.config.ts +0 -6
@@ -1,20 +0,0 @@
1
- import TimeAgo from "javascript-time-ago"
2
- import en from "javascript-time-ago/locale/en"
3
-
4
- TimeAgo.addDefaultLocale(en)
5
-
6
- export const timeAgo = (
7
- date: Date | string | null | undefined,
8
- fallback = "???",
9
- ) => {
10
- if (!date) return fallback
11
- if (typeof date === "string") {
12
- date = new Date(date)
13
- }
14
- try {
15
- const timeAgo = new TimeAgo("en-US")
16
- return timeAgo.format(date)
17
- } catch (error) {
18
- return fallback
19
- }
20
- }
@@ -1,39 +0,0 @@
1
- import { ToasterToast } from "@/hooks/use-toast"
2
-
3
- export function toastManualEditConflicts(
4
- circuitJson: { type: string; message: string }[],
5
- toast: (props: Omit<ToasterToast, "id">) => void,
6
- ) {
7
- const pcb_manual_edit_conflict_warnings = circuitJson.filter(
8
- (x) => x.type === "pcb_manual_edit_conflict_warning",
9
- )
10
- const schematic_manual_edit_conflict_warnings = circuitJson.filter(
11
- (x) => x.type === "schematic_manual_edit_conflict_warning",
12
- )
13
-
14
- if (
15
- pcb_manual_edit_conflict_warnings.length > 0 ||
16
- schematic_manual_edit_conflict_warnings.length > 0
17
- ) {
18
- const warnings = [
19
- ...(pcb_manual_edit_conflict_warnings || []),
20
- ...(schematic_manual_edit_conflict_warnings || []),
21
- ]
22
-
23
- warnings.forEach((warning) => {
24
- const isSchematicWarning =
25
- warning.type === "schematic_manual_edit_conflict_warning"
26
- toast({
27
- title: !isSchematicWarning
28
- ? "Pcb Manual Edit Conflicts"
29
- : "Schematic Manual Edit Conflicts",
30
- description: (
31
- <div className="flex items-center">
32
- <span>{warning.message}</span>
33
- </div>
34
- ),
35
- variant: "destructive",
36
- })
37
- })
38
- }
39
- }
@@ -1,195 +0,0 @@
1
- import type { TreeDataItem } from "@/components/ui/tree-view"
2
- import type {
3
- IRenameFileProps,
4
- IDeleteFileProps,
5
- } from "@/hooks/useFileManagement"
6
- import { isHiddenFile } from "@/components/ViewPackagePage/utils/is-hidden-file"
7
- import { File, Folder, MoreVertical, Pencil, Trash2 } from "lucide-react"
8
- import {
9
- DropdownMenu,
10
- DropdownMenuContent,
11
- DropdownMenuGroup,
12
- DropdownMenuItem,
13
- DropdownMenuTrigger,
14
- } from "@/components/ui/dropdown-menu"
15
- import { useToast } from "@/hooks/use-toast"
16
-
17
- type FileName = string
18
- type TreeNode = Omit<TreeDataItem, "children"> & {
19
- children?: Record<string, TreeNode>
20
- }
21
- interface TransformFilesToTreeDataProps {
22
- files: Record<FileName, string>
23
- currentFile: FileName | null
24
- renamingFile: string | null
25
- handleRenameFile: (props: IRenameFileProps) => { fileRenamed: boolean }
26
- handleDeleteFile: (props: IDeleteFileProps) => { fileDeleted: boolean }
27
- setRenamingFile: (filename: string | null) => void
28
- onFileSelect: (filename: FileName) => void
29
- onFolderSelect: (folderPath: string) => void
30
- canModifyFiles: boolean
31
- setErrorMessage: (message: string) => void
32
- setSelectedFolderForCreation: (folder: string | null) => void
33
- }
34
-
35
- export const transformFilesToTreeData = ({
36
- files,
37
- currentFile,
38
- renamingFile,
39
- handleRenameFile,
40
- handleDeleteFile,
41
- setRenamingFile,
42
- onFileSelect,
43
- onFolderSelect,
44
- canModifyFiles,
45
- setErrorMessage,
46
- setSelectedFolderForCreation,
47
- }: TransformFilesToTreeDataProps): TreeDataItem[] => {
48
- const { toast } = useToast()
49
- const root: Record<string, TreeNode> = {}
50
-
51
- Object.keys(files).forEach((filePath) => {
52
- const hasLeadingSlash = filePath.startsWith("/")
53
- const pathSegments = (hasLeadingSlash ? filePath.slice(1) : filePath)
54
- .trim()
55
- .split("/")
56
- let currentNode: Record<string, TreeNode> = root
57
-
58
- pathSegments.forEach((segment, segmentIndex) => {
59
- const isLeafNode = segmentIndex === pathSegments.length - 1
60
- const ancestorPath = pathSegments.slice(0, segmentIndex).join("/")
61
- const relativePath = ancestorPath ? `${ancestorPath}/${segment}` : segment
62
- const absolutePath = hasLeadingSlash ? `/${relativePath}` : relativePath
63
- const itemId = absolutePath
64
-
65
- if (
66
- !currentNode[segment] &&
67
- (!isHiddenFile(relativePath) ||
68
- isHiddenFile(
69
- currentFile?.startsWith("/")
70
- ? currentFile.slice(1)
71
- : currentFile || "",
72
- ))
73
- ) {
74
- currentNode[segment] = {
75
- id: itemId,
76
- name: segment,
77
- isRenaming: renamingFile === itemId,
78
- onRename: (newFilename: string) => {
79
- const oldPath = itemId
80
- const pathParts = oldPath.split("/").filter((part) => part !== "")
81
- let newPath: string
82
-
83
- if (pathParts.length > 1) {
84
- const folderPath = pathParts.slice(0, -1).join("/")
85
- newPath = folderPath + "/" + newFilename
86
- } else {
87
- newPath = newFilename
88
- }
89
-
90
- if (oldPath.startsWith("/") && !newPath.startsWith("/")) {
91
- newPath = "/" + newPath
92
- }
93
-
94
- const { fileRenamed } = handleRenameFile({
95
- oldFilename: itemId,
96
- newFilename: newPath,
97
- onError: (error) => {
98
- toast({
99
- title: `Error renaming file`,
100
- description: error.message,
101
- variant: "destructive",
102
- })
103
- },
104
- })
105
- if (fileRenamed) {
106
- setRenamingFile(null)
107
- }
108
- },
109
- onCancelRename: () => {
110
- setRenamingFile(null)
111
- },
112
- icon: isLeafNode ? File : Folder,
113
- onClick: isLeafNode
114
- ? () => {
115
- onFileSelect(absolutePath)
116
- setSelectedFolderForCreation(null)
117
- }
118
- : () => onFolderSelect(absolutePath),
119
- draggable: false,
120
- droppable: !isLeafNode,
121
- children: isLeafNode ? undefined : {},
122
- actions: canModifyFiles ? (
123
- <>
124
- <DropdownMenu key={itemId}>
125
- <DropdownMenuTrigger asChild>
126
- <MoreVertical className="w-4 h-4 text-gray-500 hover:text-gray-700" />
127
- </DropdownMenuTrigger>
128
- <DropdownMenuContent
129
- className="w-fit bg-white shadow-lg rounded-md border-4 z-[100] border-white"
130
- style={{
131
- position: "absolute",
132
- top: "100%",
133
- left: "0",
134
- marginTop: "0.5rem",
135
- width: "8rem",
136
- padding: "0.01rem",
137
- }}
138
- >
139
- <DropdownMenuGroup>
140
- {isLeafNode && (
141
- <DropdownMenuItem
142
- onClick={() => {
143
- setRenamingFile(itemId)
144
- }}
145
- className="flex items-center px-3 py-1 text-xs text-black hover:bg-gray-100 cursor-pointer"
146
- >
147
- <Pencil className="mr-2 h-3 w-3" />
148
- Rename
149
- </DropdownMenuItem>
150
- )}
151
- <DropdownMenuItem
152
- onClick={() => {
153
- const { fileDeleted } = handleDeleteFile({
154
- filename: itemId,
155
- onError: (error) => {
156
- toast({
157
- title: `Error deleting file ${itemId}`,
158
- description: error.message,
159
- })
160
- },
161
- })
162
- if (fileDeleted) {
163
- setErrorMessage("")
164
- }
165
- }}
166
- className="flex items-center px-3 py-1 text-xs text-red-600 hover:bg-gray-100 cursor-pointer"
167
- >
168
- <Trash2 className="mr-2 h-3 w-3" />
169
- Delete
170
- </DropdownMenuItem>
171
- </DropdownMenuGroup>
172
- </DropdownMenuContent>
173
- </DropdownMenu>
174
- </>
175
- ) : undefined,
176
- }
177
- }
178
-
179
- if (!isLeafNode && currentNode[segment]?.children) {
180
- currentNode = currentNode[segment].children
181
- }
182
- })
183
- })
184
-
185
- const convertToArray = (items: Record<string, TreeNode>): TreeDataItem[] => {
186
- return Object.values(items).map((item) => ({
187
- ...item,
188
- children: item.children ? convertToArray(item.children) : undefined,
189
- }))
190
- }
191
- return convertToArray(root).filter((x) => {
192
- if (x.children?.length === 0) return false
193
- return true
194
- })
195
- }
package/src/main.tsx DELETED
@@ -1,15 +0,0 @@
1
- import { StrictMode } from "react"
2
- import { createRoot } from "react-dom/client"
3
- import App from "./App.tsx"
4
- import "./lib/sentry"
5
- import "./index.css"
6
-
7
- if (typeof window !== "undefined" && !window.__APP_LOADED_AT) {
8
- window.__APP_LOADED_AT = Date.now()
9
- }
10
-
11
- createRoot(document.getElementById("root")!).render(
12
- <StrictMode>
13
- <App />
14
- </StrictMode>,
15
- )
package/src/pages/404.tsx DELETED
@@ -1,23 +0,0 @@
1
- import { Helmet } from "react-helmet"
2
- import { Header2 } from "@/components/Header2"
3
- import Footer from "@/components/Footer"
4
- import { NotFound } from "@/components/NotFound"
5
-
6
- export function NotFoundPage({
7
- heading = "Page Not Found",
8
- subtitle = "The page you're looking for doesn't exist.",
9
- }: { heading?: string; subtitle?: string }) {
10
- return (
11
- <div className="flex min-h-screen flex-col">
12
- <Helmet>
13
- <title>404 - {heading} | tscircuit</title>
14
- <meta name="description" content={subtitle} />
15
- </Helmet>
16
- <Header2 />
17
- <NotFound heading={heading} />
18
- <Footer />
19
- </div>
20
- )
21
- }
22
-
23
- export default NotFoundPage
@@ -1,208 +0,0 @@
1
- import Header from "@/components/Header"
2
- import { useGlobalStore } from "@/hooks/use-global-store"
3
- import { useEffect, useState } from "react"
4
- import * as jose from "jose"
5
- import Footer from "@/components/Footer"
6
- import { useLocation } from "wouter"
7
- import { useIsUsingFakeApi } from "@/hooks/use-is-using-fake-api"
8
- import { CheckCircle, AlertCircle, Loader2 } from "lucide-react"
9
-
10
- const handleRedirect = (
11
- redirect: string | null,
12
- fallbackLocation: () => void,
13
- ) => {
14
- if (redirect) {
15
- try {
16
- const decodedRedirect = decodeURIComponent(redirect)
17
-
18
- if (decodedRedirect.startsWith("/")) {
19
- window.location.href = decodedRedirect
20
- return
21
- }
22
-
23
- const redirectUrl = new URL(decodedRedirect)
24
- if (redirectUrl.origin === window.location.origin) {
25
- window.location.href = redirectUrl.href
26
- return
27
- }
28
- } catch (e) {
29
- console.warn("Invalid redirect URL:", redirect)
30
- }
31
- }
32
- fallbackLocation()
33
- }
34
-
35
- const AuthenticatePageInnerContent = () => {
36
- const [location, setLocation] = useLocation()
37
- const setSession = useGlobalStore((s) => s.setSession)
38
- const [message, setMessage] = useState("logging you in...")
39
- const searchParams = new URLSearchParams(window.location.search.split("?")[1])
40
- const session_token = searchParams.get("session_token")
41
- const redirect = searchParams.get("redirect")
42
- const isUsingFakeApi = useIsUsingFakeApi()
43
-
44
- const isError = message.includes("error") || message.includes("couldn't")
45
- const isSuccess =
46
- message.includes("success") || message.includes("redirecting")
47
-
48
- useEffect(() => {
49
- async function login() {
50
- if (isUsingFakeApi) {
51
- setSession({
52
- account_id: "account-1234",
53
- github_username: "testuser",
54
- token: "1234",
55
- session_id: "session-1234",
56
- })
57
-
58
- handleRedirect(redirect, () => setLocation("/"))
59
- return
60
- }
61
- if (!session_token) {
62
- setMessage("couldn't log in - no token provided")
63
- return
64
- }
65
- if (session_token) {
66
- const decodedToken = jose.decodeJwt(session_token)
67
- setSession({
68
- ...(decodedToken as any),
69
- token: session_token,
70
- })
71
- setMessage("success! redirecting you now...")
72
- setTimeout(() => {
73
- handleRedirect(redirect, () => setLocation("/"))
74
- }, 1000)
75
- return
76
- }
77
- }
78
- login().catch((e) => {
79
- setMessage(`error logging you in: ${e.message || e.toString()}`)
80
- })
81
- }, [session_token, redirect])
82
-
83
- return (
84
- <div className="min-h-screen bg-white flex items-center justify-center px-4">
85
- <div className="w-full max-w-md">
86
- <div className="bg-gray-50/20 rounded-2xl shadow-xl border border-gray-200 p-8">
87
- <div className="text-center">
88
- <div className="mb-6">
89
- {isError ? (
90
- <div className="mx-auto w-16 h-16 bg-red-100 rounded-full flex items-center justify-center">
91
- <AlertCircle className="h-8 w-8 text-red-500" />
92
- </div>
93
- ) : isSuccess ? (
94
- <div className="mx-auto w-16 h-16 bg-green-100 rounded-full flex items-center justify-center">
95
- <CheckCircle className="h-8 w-8 text-green-500" />
96
- </div>
97
- ) : (
98
- <div className="mx-auto w-16 h-16 bg-blue-100 rounded-full flex items-center justify-center">
99
- <Loader2 className="h-8 w-8 text-blue-500 animate-spin" />
100
- </div>
101
- )}
102
- </div>
103
-
104
- {/* Title */}
105
- <h1 className="text-2xl font-semibold text-gray-900 mb-3">
106
- {isError
107
- ? "Authentication Failed"
108
- : isSuccess
109
- ? "Success!"
110
- : "Signing You In"}
111
- </h1>
112
-
113
- {/* Message */}
114
- <div className="text-gray-600">
115
- {isError ? (
116
- <div className="bg-red-50 border border-red-200 rounded-lg p-4 text-left">
117
- <p className="text-red-800 font-medium mb-2">
118
- Authentication Error
119
- </p>
120
- <p className="text-red-700 text-sm break-words">{message}</p>
121
- <div className="mt-4 pt-3 border-t border-red-200">
122
- <p className="text-red-600 text-xs">
123
- Please try signing in again or contact support if the
124
- problem persists.
125
- </p>
126
- </div>
127
- </div>
128
- ) : isSuccess ? (
129
- <div className="bg-green-50 border border-green-200 rounded-lg p-4">
130
- <p className="text-green-800 font-medium">
131
- Authentication successful!
132
- </p>
133
- <p className="text-green-700 text-sm mt-1">
134
- Redirecting you now...
135
- </p>
136
- </div>
137
- ) : (
138
- <div>
139
- <p className="text-gray-600 mb-4">
140
- Please wait while we authenticate your account and redirect
141
- you to your destination.
142
- </p>
143
- <div className="flex items-center justify-center text-sm text-gray-500">
144
- <div className="flex space-x-1">
145
- <div className="w-1 h-1 bg-gray-400 rounded-full animate-bounce"></div>
146
- <div
147
- className="w-1 h-1 bg-gray-400 rounded-full animate-bounce"
148
- style={{ animationDelay: "0.1s" }}
149
- ></div>
150
- <div
151
- className="w-1 h-1 bg-gray-400 rounded-full animate-bounce"
152
- style={{ animationDelay: "0.2s" }}
153
- ></div>
154
- </div>
155
- <span className="ml-2">Processing</span>
156
- </div>
157
- </div>
158
- )}
159
- </div>
160
- </div>
161
- </div>
162
-
163
- {/* Footer info */}
164
- <div className="text-center mt-6 text-xs text-gray-500">
165
- If you encounter any issues, please report them on our{" "}
166
- <a
167
- href="https://github.com/tscircuit/tscircuit/issues"
168
- className="text-blue-500 underline"
169
- >
170
- GitHub Issues page
171
- </a>
172
- .
173
- </div>
174
- </div>
175
-
176
- <style
177
- dangerouslySetInnerHTML={{
178
- __html: `
179
- @keyframes pulse-loading {
180
- 0% {
181
- width: 0%;
182
- }
183
- 50% {
184
- width: 60%;
185
- }
186
- 100% {
187
- width: 100%;
188
- }
189
- }
190
- .animate-pulse-loading {
191
- animation: pulse-loading 2s ease-in-out infinite;
192
- }
193
- `,
194
- }}
195
- />
196
- </div>
197
- )
198
- }
199
-
200
- export const AuthorizePage = () => (
201
- <div>
202
- <Header />
203
- <AuthenticatePageInnerContent />
204
- <Footer />
205
- </div>
206
- )
207
-
208
- export default AuthorizePage
@@ -1,169 +0,0 @@
1
- import React, { useState } from "react"
2
- import { useLocation } from "wouter"
3
- import { Helmet } from "react-helmet-async"
4
- import Header from "@/components/Header"
5
- import { Button } from "@/components/ui/button"
6
- import { Input } from "@/components/ui/input"
7
- import { Label } from "@/components/ui/label"
8
- import toast from "react-hot-toast"
9
- import { useCreateOrgMutation } from "@/hooks/use-create-org-mutation"
10
-
11
- interface FormErrors {
12
- name?: string
13
- }
14
-
15
- export const CreateOrganizationPage = () => {
16
- const [, setLocation] = useLocation()
17
-
18
- const [formData, setFormData] = useState({
19
- name: "",
20
- })
21
-
22
- const [errors, setErrors] = useState<FormErrors>({})
23
- const [isLoading, setIsLoading] = useState(false)
24
-
25
- const { mutate: createOrganization, isLoading: isMutating } =
26
- useCreateOrgMutation({
27
- onSuccess: (newOrganization) => {
28
- toast.success(
29
- `Organization "${newOrganization.name || formData.name}" created successfully!`,
30
- )
31
- setLocation(`/${newOrganization.name || formData.name}`)
32
- setIsLoading(false)
33
- },
34
- })
35
-
36
- const validateForm = (): boolean => {
37
- const newErrors: FormErrors = {}
38
-
39
- if (!formData.name) {
40
- newErrors.name = "Organization name is required"
41
- } else if (formData.name.length > 30) {
42
- newErrors.name = "Organization name must be less than 30 characters"
43
- } else if (!/^[a-zA-Z0-9-_]+$/.test(formData.name)) {
44
- newErrors.name =
45
- "Organization name can only contain letters, numbers, hyphens, and underscores"
46
- }
47
- setErrors(newErrors)
48
- return Object.keys(newErrors).length === 0
49
- }
50
-
51
- const handleSubmit = async (e: React.FormEvent) => {
52
- e.preventDefault()
53
-
54
- if (!validateForm()) {
55
- return
56
- }
57
-
58
- setIsLoading(true)
59
- createOrganization(
60
- { name: formData.name },
61
- {
62
- onError: (error: any) => {
63
- console.error("Failed to create organization:", error)
64
- toast.error(
65
- error?.response?.data?.error?.message ||
66
- error?.data?.error?.message ||
67
- "Failed to create organization. Please try again.",
68
- )
69
- setIsLoading(false)
70
- },
71
- },
72
- )
73
- }
74
-
75
- const handleNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {
76
- const name = e.target.value
77
- setFormData((prev) => ({ ...prev, name }))
78
- if (errors.name) {
79
- setErrors({})
80
- }
81
- }
82
-
83
- const handleCancel = () => {
84
- setLocation("/dashboard")
85
- }
86
-
87
- return (
88
- <div className="min-h-screen bg-white">
89
- <Helmet>
90
- <title>Create Organization - tscircuit</title>
91
- <meta
92
- name="description"
93
- content="Create a new organization to collaborate with others and manage shared projects."
94
- />
95
- </Helmet>
96
-
97
- <Header />
98
-
99
- <div className="flex items-center justify-center min-h-[calc(100vh-80px)] px-4 sm:px-6 lg:px-8">
100
- <div className="w-full max-w-lg mx-auto">
101
- <div className="text-center mb-8">
102
- <h1 className="text-xl sm:text-2xl font-semibold text-gray-900 mb-2">
103
- Set up your organization
104
- </h1>
105
- <p className="text-gray-600 text-sm">
106
- Tell us about your organization
107
- </p>
108
- </div>
109
-
110
- <form onSubmit={handleSubmit} className="space-y-6">
111
- <div className="space-y-2">
112
- <Label
113
- htmlFor="org-name"
114
- className="text-sm font-semibold text-gray-900"
115
- >
116
- Organization Name
117
- <span className="text-red-500">*</span>
118
- </Label>
119
- <Input
120
- spellCheck={false}
121
- id="org-handle"
122
- type="text"
123
- placeholder="tscircuit"
124
- value={formData.name}
125
- onChange={handleNameChange}
126
- className={`h-10 sm:h-11 ${
127
- errors.name
128
- ? "border-red-300 focus:border-red-500 focus:ring-red-500"
129
- : "border-gray-300 focus:border-blue-500 focus:ring-blue-500"
130
- }`}
131
- disabled={isLoading || isMutating}
132
- />
133
- {errors.name && (
134
- <p className="text-sm text-red-600">{errors.name}</p>
135
- )}
136
- <p className="text-xs text-gray-500">
137
- This will be the name of your organization on tscircuit.
138
- <br />
139
- Your URL will be:{" "}
140
- <span className="font-mono text-gray-700">
141
- tscircuit.com/{formData.name || "orgname"}
142
- </span>
143
- </p>
144
- </div>
145
-
146
- <div>
147
- <Button
148
- type="submit"
149
- disabled={isLoading || isMutating || !formData.name}
150
- className="w-full h-10 sm:h-11 bg-blue-600 hover:bg-blue-700 text-white font-medium text-sm sm:text-base"
151
- >
152
- {isLoading || isMutating ? (
153
- <>
154
- <div className="w-4 h-4 border-2 border-white border-t-transparent rounded-full animate-spin mr-2" />
155
- Creating organization...
156
- </>
157
- ) : (
158
- "Create organization"
159
- )}
160
- </Button>
161
- </div>
162
- </form>
163
- </div>
164
- </div>
165
- </div>
166
- )
167
- }
168
-
169
- export default CreateOrganizationPage