@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,54 +0,0 @@
1
- import { CodeAndPreview } from "@/components/package-port/CodeAndPreview"
2
- import Footer from "@/components/Footer"
3
- import Header from "@/components/Header"
4
- import { Helmet } from "react-helmet-async"
5
- import { useCurrentPackageInfo } from "@/hooks/use-current-package-info"
6
-
7
- export const EditorPage = () => {
8
- const { packageInfo: pkg, error } = useCurrentPackageInfo()
9
-
10
- const projectUrl = pkg ? `https://tscircuit.com/${pkg.name}` : undefined
11
- const previewImageUrl =
12
- pkg?.latest_pcb_preview_image_url ??
13
- pkg?.latest_sch_preview_image_url ??
14
- pkg?.latest_cad_preview_image_url ??
15
- undefined
16
-
17
- return (
18
- <div className="overflow-x-hidden">
19
- <Helmet>
20
- <title>
21
- {pkg ? `${pkg.unscoped_name} - tscircuit` : "tscircuit editor"}
22
- </title>
23
- {pkg && (
24
- <>
25
- <meta
26
- property="og:title"
27
- content={`${pkg.unscoped_name} - tscircuit`}
28
- />
29
- {previewImageUrl && (
30
- <>
31
- <meta property="og:image" content={previewImageUrl} />
32
- <meta name="twitter:card" content="summary_large_image" />
33
- <meta name="twitter:image" content={previewImageUrl} />
34
- </>
35
- )}
36
- </>
37
- )}
38
- </Helmet>
39
- <Header />
40
- {!error && <CodeAndPreview pkg={pkg} projectUrl={projectUrl} />}
41
- {error && error.status === 404 && (
42
- <div className="w-full h-[calc(100vh-20rem)] text-xl text-center flex justify-center items-center">
43
- Package not found
44
- </div>
45
- )}
46
- {error && error.status !== 404 && (
47
- <div className="flex flex-col">
48
- Something strange happened<div>{error.message}</div>
49
- </div>
50
- )}
51
- <Footer />
52
- </div>
53
- )
54
- }
@@ -1,237 +0,0 @@
1
- import { Button } from "@/components/ui/button"
2
- import { Card, CardContent } from "@/components/ui/card"
3
- import { Badge } from "@/components/ui/badge"
4
- import { OptimizedImage } from "@/components/OptimizedImage"
5
- import {
6
- Code2,
7
- Cpu,
8
- Layers,
9
- CloudLightningIcon as Lightning,
10
- Maximize2,
11
- Zap,
12
- } from "lucide-react"
13
- import { Helmet } from "react-helmet"
14
- import { Header2 } from "@/components/Header2"
15
- import Footer from "@/components/Footer"
16
- import { useSignIn } from "@/hooks/use-sign-in"
17
- import { useGlobalStore } from "@/hooks/use-global-store"
18
- import { navigate } from "wouter/use-browser-location"
19
- import { FAQ } from "@/components/FAQ"
20
- import { TrendingPackagesCarousel } from "@/components/TrendingPackagesCarousel"
21
- import { Link } from "wouter"
22
-
23
- export function LandingPage() {
24
- const signIn = useSignIn()
25
- const isLoggedIn = useGlobalStore((s) => Boolean(s.session))
26
- return (
27
- <div className="flex min-h-screen flex-col">
28
- <Helmet>
29
- <link rel="preconnect" href="https://img.shields.io" />
30
- <link rel="dns-prefetch" href="https://img.shields.io" />
31
-
32
- <link rel="preconnect" href="https://shields.io" />
33
- <link rel="dns-prefetch" href="https://shields.io" />
34
-
35
- <link rel="preconnect" href="https://tscircuit.com" />
36
- <link rel="dns-prefetch" href="https://tscircuit.com" />
37
-
38
- <link rel="preconnect" href="https://api.tscircuit.com" />
39
- <link rel="dns-prefetch" href="https://api.tscircuit.com" />
40
- </Helmet>
41
- <Header2 />
42
- <main className="flex-1">
43
- <section className="w-full py-8 md:py-12 lg:py-20 xl:py-36">
44
- <div className="container px-4 md:px-6 mx-auto">
45
- <div className="container mx-auto max-w-7xl">
46
- <div className="grid gap-6 lg:grid-cols-[1fr_400px] lg:gap-12 xl:grid-cols-[1fr_600px]">
47
- <div className="flex flex-col justify-center space-y-4">
48
- <div className="space-y-2">
49
- <Badge variant="secondary" className="w-fit">
50
- Open-Source, MIT Licensed
51
- </Badge>
52
- <h1 className="text-3xl font-bold tracking-tight sm:text-5xl xl:text-6xl/none">
53
- AI codes electronics with tscircuit
54
- </h1>
55
- <p className="max-w-[600px] text-muted-foreground md:text-xl">
56
- Build electronics with code and AI tools.
57
- <br />
58
- Render code into schematics, PCBs, 3D, fabrication files,
59
- and more.
60
- </p>
61
- </div>
62
- <div className="flex flex-col items-center gap-2 min-[500px]:flex-row">
63
- <a
64
- href="https://docs.tscircuit.com"
65
- className="w-[70vw] min-[500px]:w-auto"
66
- >
67
- <Button
68
- size="lg"
69
- aria-label="Get started with TSCircuit"
70
- className="w-full min-[500px]:w-auto"
71
- >
72
- Get Started
73
- </Button>
74
- </a>
75
- <Link
76
- href="/seveibar/led-water-accelerometer#3d"
77
- className="w-[70vw] min-[500px]:w-auto"
78
- >
79
- <Button
80
- size="lg"
81
- variant="outline"
82
- aria-label="Open online example of TSCircuit"
83
- className="w-full min-[500px]:w-auto"
84
- >
85
- Open Online Example
86
- </Button>
87
- </Link>
88
- <a
89
- href="https://github.com/tscircuit/tscircuit"
90
- target="_blank"
91
- rel="noopener noreferrer"
92
- >
93
- <img
94
- alt="GitHub stars"
95
- src="https://img.shields.io/github/stars/tscircuit/tscircuit?style=social"
96
- />
97
- </a>
98
- </div>
99
- <div className="grid grid-cols-2 gap-4 sm:flex items-center w-full text-sm">
100
- <div className="flex items-center space-x-1">
101
- <Zap className="h-4 w-4" />
102
- <span>Lightning Fast Autorouting</span>
103
- </div>
104
- <div className="flex items-center space-x-1">
105
- <Cpu className="h-4 w-4" />
106
- <span>Designed for AI</span>
107
- </div>
108
- <div className="flex items-center space-x-1">
109
- <Layers className="h-4 w-4" />
110
- <span>Export &amp; Manufacture</span>
111
- </div>
112
- <div className="flex items-center space-x-1 sm:hidden">
113
- <Code2 className="h-4 w-4" />
114
- <span>Open Web Standards</span>
115
- </div>
116
- </div>
117
- </div>
118
- <div className="w-full aspect-video relative">
119
- <OptimizedImage
120
- alt="Product preview"
121
- className="mx-auto overflow-hidden rounded-xl object-cover object-center absolute inset-0 w-full h-full mt-8 lg:mt-0"
122
- src="/assets/editor_example_1_more_square.webp"
123
- priority={true}
124
- />
125
- </div>
126
- </div>
127
- </div>
128
- </div>
129
- </section>
130
- <TrendingPackagesCarousel />
131
- <section
132
- className="w-full py-12 md:py-24 lg:py-32 bg-gray-100 dark:bg-gray-800"
133
- id="features"
134
- >
135
- <div className="container px-4 md:px-6 mx-auto">
136
- <div className="flex flex-col items-center justify-center space-y-4 text-center">
137
- <div className="space-y-2">
138
- <h2 className="text-3xl font-bold tracking-tighter md:text-4xl">
139
- The Modern Toolkit for Electronic Design
140
- </h2>
141
- <p className="max-w-[900px] text-muted-foreground md:text-xl">
142
- Typescript and React equipped with expertly-designed web-first
143
- electronics libraries
144
- </p>
145
- </div>
146
- </div>
147
- <div className="mx-auto grid max-w-5xl items-center gap-6 py-12 lg:grid-cols-3">
148
- <Card className="hover:shadow-lg transition-shadow duration-200 h-full">
149
- <CardContent className="p-6">
150
- <Lightning className="h-12 w-12 mb-4" />
151
- <h3 className="text-xl font-bold">Version Control</h3>
152
- <p className="text-sm text-muted-foreground">
153
- Collaborate on Github or wherever you keep source code.
154
- Utilize industry-standard continuous integration tooling
155
- </p>
156
- </CardContent>
157
- </Card>
158
- <Card className="hover:shadow-lg transition-shadow duration-200 h-full">
159
- <CardContent className="p-6">
160
- <Cpu className="h-12 w-12 mb-4" />
161
- <h3 className="text-xl font-bold">Robust Autorouting</h3>
162
- <p className="text-sm text-muted-foreground">
163
- Near-instant local and cloud autorouters to give you a
164
- functional circuit board fast
165
- </p>
166
- </CardContent>
167
- </Card>
168
- <Card className="hover:shadow-lg transition-shadow duration-200 h-full">
169
- <CardContent className="p-6">
170
- <Maximize2 className="h-12 w-12 mb-4" />
171
- <h3 className="text-xl font-bold">
172
- Export &amp; Manufacture
173
- </h3>
174
- <p className="text-sm text-muted-foreground">
175
- Export to industry-standard formats like Gerber, SPICE
176
- netlists and more
177
- </p>
178
- </CardContent>
179
- </Card>
180
- </div>
181
- </div>
182
- </section>
183
- <div className="md:mt-8">
184
- <OptimizedImage
185
- alt="Product preview"
186
- className="mx-auto aspect-video overflow-hidden rounded-xl object-cover object-center"
187
- src="/assets/editor_example_2.webp"
188
- height={310}
189
- width={800}
190
- />
191
- </div>
192
- <FAQ />
193
- <div className="md:mt-8">
194
- <OptimizedImage
195
- alt="Product preview"
196
- className="mx-auto aspect-video overflow-hidden rounded-xl object-cover object-center"
197
- src="/assets/example_schematic.webp"
198
- height={310}
199
- width={800}
200
- />
201
- </div>
202
- <section className="w-full py-12 md:py-24 lg:py-32 bg-primary" id="cta">
203
- <div className="container px-4 md:px-6 mx-auto">
204
- <div className="flex flex-col items-center justify-center space-y-4 text-center text-primary-foreground">
205
- <div className="space-y-2">
206
- <h2 className="text-3xl font-bold tracking-tighter md:text-4xl">
207
- Ready to build electronics with code?
208
- </h2>
209
- <p className="max-w-[600px] text-primary-foreground/80 md:text-xl">
210
- Join hundreds of engineers who are already using tscircuit to
211
- design complex electronics!
212
- </p>
213
- </div>
214
- <div className="flex flex-col gap-2 min-[400px]:flex-row">
215
- <Button
216
- onClick={() => {
217
- if (!isLoggedIn) {
218
- signIn()
219
- } else {
220
- navigate("/dashboard")
221
- }
222
- }}
223
- size="lg"
224
- variant="secondary"
225
- aria-label="Get started with TSCircuit now"
226
- >
227
- Get Started
228
- </Button>
229
- </div>
230
- </div>
231
- </div>
232
- </section>
233
- </main>
234
- <Footer />
235
- </div>
236
- )
237
- }
@@ -1,145 +0,0 @@
1
- import React, { useState } from "react"
2
- import { useQuery } from "react-query"
3
- import { useAxios } from "@/hooks/use-axios"
4
- import { Package } from "fake-snippets-api/lib/db/schema"
5
- import Header from "@/components/Header"
6
- import Footer from "@/components/Footer"
7
- import { Search, Keyboard, Cpu, Layers, LucideBellElectric } from "lucide-react"
8
- import { Input } from "@/components/ui/input"
9
- import { useApiBaseUrl } from "@/hooks/use-packages-base-api-url"
10
- import {
11
- Select,
12
- SelectContent,
13
- SelectItem,
14
- SelectTrigger,
15
- SelectValue,
16
- } from "@/components/ui/select"
17
- import PackageSearchResults from "@/components/PackageSearchResults"
18
-
19
- const LatestPage: React.FC = () => {
20
- const axios = useAxios()
21
- const apiBaseUrl = useApiBaseUrl()
22
- const [searchQuery, setSearchQuery] = useState("")
23
- const [category, setCategory] = useState("all")
24
-
25
- const {
26
- data: packages,
27
- isLoading,
28
- error,
29
- } = useQuery<Package[]>(
30
- ["latestPackages", category],
31
- async () => {
32
- const params = category !== "all" ? { tag: category } : {}
33
- const response = await axios.get("/packages/list_latest", { params })
34
- return response.data.packages
35
- },
36
- {
37
- keepPreviousData: true,
38
- refetchOnWindowFocus: false,
39
- refetchOnMount: false,
40
- refetchOnReconnect: false,
41
- },
42
- )
43
-
44
- const filteredPackages = packages
45
- ?.filter((pkg) => {
46
- if (!searchQuery) return true
47
-
48
- const query = searchQuery.toLowerCase().trim()
49
-
50
- const searchableFields = [
51
- pkg.unscoped_name.toLowerCase(),
52
- pkg.owner_github_username?.toLowerCase() ?? "",
53
- (pkg.description || "").toLowerCase(),
54
- ]
55
-
56
- return searchableFields.some((field) => {
57
- const queryWords = query.split(/\s+/).filter((word) => word.length > 0)
58
- return queryWords.every((word) => field.includes(word))
59
- })
60
- })
61
- ?.sort((a, b) => b.created_at.localeCompare(a.created_at))
62
-
63
- return (
64
- <div className="min-h-screen flex flex-col">
65
- <Header />
66
- <main className="flex-grow container mx-auto px-4 py-8 min-h-[80vh]">
67
- <div className="mb-8 max-w-3xl">
68
- <div className="flex items-center gap-2 mb-3">
69
- <h1 className="text-4xl font-bold text-gray-900">
70
- Latest Packages
71
- </h1>
72
- </div>
73
- <p className="text-lg text-gray-600 mb-4">
74
- Explore the latest circuit designs from our community. These fresh
75
- additions showcase new ideas and innovative approaches to circuit
76
- design.
77
- </p>
78
- </div>
79
-
80
- <div className="mb-6">
81
- <div className="flex flex-col sm:flex-row gap-4 mb-4">
82
- <div className="relative flex-grow">
83
- <Search className="absolute left-3 top-1/2 transform -translate-y-1/2 text-gray-400 h-4 w-4" />
84
- <Input
85
- type="text"
86
- placeholder="Search latest packages..."
87
- value={searchQuery}
88
- onChange={(e) => setSearchQuery(e.target.value)}
89
- className="pl-10"
90
- />
91
- </div>
92
- <Select value={category} onValueChange={setCategory}>
93
- <SelectTrigger className="w-full sm:w-[180px]">
94
- <SelectValue placeholder="Category" />
95
- </SelectTrigger>
96
- <SelectContent>
97
- <SelectItem value="all">All Categories</SelectItem>
98
- <SelectItem value="keyboard">
99
- <div className="flex items-center">
100
- <Keyboard className="mr-2 h-4 w-4" />
101
- <span>Keyboards</span>
102
- </div>
103
- </SelectItem>
104
- <SelectItem value="microcontroller">
105
- <div className="flex items-center">
106
- <Cpu className="mr-2 h-4 w-4" />
107
- <span>Microcontrollers</span>
108
- </div>
109
- </SelectItem>
110
- <SelectItem value="connector">
111
- <div className="flex items-center">
112
- <Layers className="mr-2 h-4 w-4" />
113
- <span>Connectors</span>
114
- </div>
115
- </SelectItem>
116
- <SelectItem value="sensor">
117
- <div className="flex items-center">
118
- <LucideBellElectric className="mr-2 h-4 w-4" />
119
- <span>Sensors</span>
120
- </div>
121
- </SelectItem>
122
- </SelectContent>
123
- </Select>
124
- </div>
125
- </div>
126
- <PackageSearchResults
127
- isLoading={isLoading}
128
- error={error}
129
- filteredPackages={filteredPackages}
130
- apiBaseUrl={apiBaseUrl}
131
- emptyStateMessage={
132
- searchQuery
133
- ? `No packages match your search for "${searchQuery}".`
134
- : category !== "all"
135
- ? `No ${category} packages found in the latest list.`
136
- : "There are no new packages at the moment."
137
- }
138
- />
139
- </main>
140
- <Footer />
141
- </div>
142
- )
143
- }
144
-
145
- export default LatestPage
@@ -1,54 +0,0 @@
1
- import React from "react"
2
- import { useQuery } from "react-query"
3
- import { useAxios } from "@/hooks/use-axios"
4
- import Header from "@/components/Header"
5
- import Footer from "@/components/Footer"
6
- import { Order } from "fake-snippets-api/lib/db/schema"
7
- import { Link } from "wouter"
8
- import { Button } from "@/components/ui/button"
9
-
10
- export const MyOrdersPage = () => {
11
- const axios = useAxios()
12
-
13
- const { data: orders, isLoading } = useQuery<Order[]>(
14
- "userOrders",
15
- async () => {
16
- const response = await axios.get("/orders/list")
17
- return response.data.orders
18
- },
19
- )
20
-
21
- return (
22
- <div>
23
- <Header />
24
- <div className="container mx-auto px-4 py-8">
25
- <h1 className="text-3xl font-bold mb-6">My Orders</h1>
26
- {isLoading ? (
27
- <div>Loading orders...</div>
28
- ) : (
29
- <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
30
- {orders?.map((order) => (
31
- <div key={order.order_id} className="border p-4 rounded-md">
32
- <h3 className="text-lg font-semibold">
33
- Order #{order.order_id}
34
- </h3>
35
- <p className="text-sm text-gray-500">
36
- Created: {new Date(order.created_at).toLocaleString()}
37
- </p>
38
- <p className="text-sm text-gray-500">
39
- Status: {order.is_running ? "Running" : "Finished"}
40
- </p>
41
- <Link href={`/orders/${order.order_id}`}>
42
- <Button className="mt-2" variant="outline">
43
- View Details
44
- </Button>
45
- </Link>
46
- </div>
47
- ))}
48
- </div>
49
- )}
50
- </div>
51
- <Footer />
52
- </div>
53
- )
54
- }
@@ -1,197 +0,0 @@
1
- import { useEffect, useState } from "react"
2
- import { useParams } from "wouter"
3
- import Header from "@/components/Header"
4
- import Footer from "@/components/Footer"
5
- import { OrganizationHeader } from "@/components/organization/OrganizationHeader"
6
- import { OrganizationMembers } from "@/components/organization/OrganizationMembers"
7
- import { PackageCard } from "@/components/PackageCard"
8
- import { Input } from "@/components/ui/input"
9
- import { Tabs, TabsList, TabsTrigger } from "@/components/ui/tabs"
10
- import {
11
- Select,
12
- SelectContent,
13
- SelectItem,
14
- SelectTrigger,
15
- SelectValue,
16
- } from "@/components/ui/select"
17
- import { useOrgByGithubHandle } from "@/hooks/use-org-by-github-handle"
18
- import { PackageCardSkeleton } from "@/components/PackageCardSkeleton"
19
- import { useApiBaseUrl } from "@/hooks/use-packages-base-api-url"
20
- import { useGlobalStore } from "@/hooks/use-global-store"
21
- import { Box } from "lucide-react"
22
- import type { PublicOrgSchema, Package } from "fake-snippets-api/lib/db/schema"
23
- import { NotFound } from "@/components/NotFound"
24
- import { useQuery } from "react-query"
25
- import { useAxios } from "@/hooks/use-axios"
26
-
27
- export const OrganizationProfilePageContent = ({
28
- org,
29
- }: { org: PublicOrgSchema }) => {
30
- const baseUrl = useApiBaseUrl()
31
- const session = useGlobalStore((s) => s.session)
32
- const axios = useAxios()
33
-
34
- const [searchQuery, setSearchQuery] = useState("")
35
- const [activeTab, setActiveTab] = useState("packages")
36
- const [filter, setFilter] = useState("most-recent")
37
- const [showAllMembers, setShowAllMembers] = useState(false)
38
-
39
- const isCurrentUserOrganization = session?.account_id === org.owner_account_id
40
-
41
- const { data: userPackages, isLoading: isLoadingUserPackages } = useQuery<
42
- Package[]
43
- >(
44
- ["userPackages", org.name],
45
- async () => {
46
- const response = await axios.post(`/packages/list`, {
47
- owner_github_username: org.name,
48
- })
49
- return response.data.packages
50
- },
51
- {
52
- enabled: Boolean(org.name),
53
- refetchOnWindowFocus: false,
54
- },
55
- )
56
-
57
- const filteredPackages = userPackages
58
- ?.filter((pkg) => {
59
- return (
60
- !searchQuery ||
61
- pkg.unscoped_name
62
- .toLowerCase()
63
- .includes(searchQuery.toLowerCase().trim())
64
- )
65
- })
66
- ?.sort((a, b) => {
67
- switch (filter) {
68
- case "most-recent":
69
- return b.updated_at.localeCompare(a.updated_at)
70
- case "least-recent":
71
- return a.updated_at.localeCompare(b.updated_at)
72
- case "most-starred":
73
- return (b.star_count || 0) - (a.star_count || 0)
74
- case "a-z":
75
- return a.unscoped_name.localeCompare(b.unscoped_name)
76
- case "z-a":
77
- return b.unscoped_name.localeCompare(a.unscoped_name)
78
- default:
79
- return 0
80
- }
81
- })
82
-
83
- return (
84
- <div className="min-h-screen">
85
- <Header />
86
-
87
- <OrganizationHeader
88
- organization={org}
89
- isCurrentUserOrganization={isCurrentUserOrganization}
90
- />
91
-
92
- <div className="container mx-auto px-4 py-8">
93
- <div className="w-full">
94
- <div className="w-full">
95
- <Tabs
96
- defaultValue="packages"
97
- onValueChange={setActiveTab}
98
- className="mb-6"
99
- >
100
- <TabsList>
101
- <TabsTrigger
102
- value="packages"
103
- className="flex items-center gap-2"
104
- >
105
- Packages
106
- </TabsTrigger>
107
- <TabsTrigger
108
- value="members"
109
- className="flex items-center gap-2"
110
- >
111
- Members
112
- </TabsTrigger>
113
- </TabsList>
114
- </Tabs>
115
-
116
- {activeTab === "packages" && (
117
- <div>
118
- <div className="flex flex-col sm:flex-row gap-4 mb-6">
119
- <Input
120
- type="text"
121
- placeholder="Search packages..."
122
- value={searchQuery}
123
- onChange={(e) => setSearchQuery(e.target.value)}
124
- className="flex-1"
125
- />
126
- <Select value={filter} onValueChange={setFilter}>
127
- <SelectTrigger className="w-full sm:w-[180px]">
128
- <SelectValue placeholder="Sort by" />
129
- </SelectTrigger>
130
- <SelectContent>
131
- <SelectItem value="most-recent">Most Recent</SelectItem>
132
- <SelectItem value="least-recent">Least Recent</SelectItem>
133
- <SelectItem value="most-starred">Most Starred</SelectItem>
134
- <SelectItem value="a-z">A-Z</SelectItem>
135
- <SelectItem value="z-a">Z-A</SelectItem>
136
- </SelectContent>
137
- </Select>
138
- </div>
139
-
140
- {isLoadingUserPackages ? (
141
- <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
142
- {[...Array(6)].map((_, i) => (
143
- <PackageCardSkeleton key={i} />
144
- ))}
145
- </div>
146
- ) : (
147
- <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-4">
148
- {filteredPackages?.length !== 0 ? (
149
- filteredPackages?.map((pkg) => (
150
- <PackageCard
151
- key={pkg.package_id}
152
- pkg={pkg}
153
- showOwner={false}
154
- isCurrentUserPackage={isCurrentUserOrganization}
155
- />
156
- ))
157
- ) : (
158
- <div className="col-span-full flex justify-center">
159
- <div className="flex flex-col items-center py-20 text-gray-500">
160
- <Box className="mb-2" size={24} />
161
- <span className="text-lg font-medium">
162
- {searchQuery.trim()
163
- ? `No packages matching '${searchQuery.trim()}'`
164
- : "No packages available"}
165
- </span>
166
- </div>
167
- </div>
168
- )}
169
- </div>
170
- )}
171
- </div>
172
- )}
173
-
174
- {activeTab === "members" && (
175
- <div>
176
- <OrganizationMembers organization={org} />
177
- </div>
178
- )}
179
- </div>
180
- </div>
181
- </div>
182
-
183
- <Footer />
184
- </div>
185
- )
186
- }
187
-
188
- export const OrganizationProfilePage = () => {
189
- const { username } = useParams()
190
- const { data: organization } = useOrgByGithubHandle(username || null)
191
-
192
- if (!organization) {
193
- return <NotFound />
194
- }
195
-
196
- return <OrganizationProfilePageContent org={organization} />
197
- }