@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,144 +0,0 @@
1
- import { useGlobalStore } from "@/hooks/use-global-store"
2
- import { CircuitBoard } from "lucide-react"
3
- import { Link } from "wouter"
4
-
5
- export default function Footer() {
6
- const session = useGlobalStore((s) => s.session)
7
- const isLoggedIn = Boolean(session)
8
-
9
- return (
10
- <footer className="bg-white text-black py-12 border-t mt-8">
11
- <div className="container mx-auto px-4">
12
- <div className="space-y-4">
13
- <div className="flex items-center gap-2">
14
- <CircuitBoard className="h-6 w-6" />
15
- <span className="text-lg font-bold">tscircuit</span>
16
- </div>
17
- <p className="text-sm text-muted-foreground">
18
- The New Foundation for Electronic Design
19
- </p>
20
- </div>
21
- <div className="grid grid-cols-2 md:grid-cols-2 lg:grid-cols-4 gap-8 text-sm text-gray-600 mt-8">
22
- <div className="space-y-4">
23
- <footer className="flex flex-col space-y-2">
24
- {[
25
- { name: "Home", href: "/" },
26
- { name: "Dashboard", href: "/dashboard" },
27
- { name: "Editor", href: "/editor" },
28
- {
29
- name: "My Profile",
30
- href: `/${session?.github_username}`,
31
- hidden: !isLoggedIn,
32
- },
33
- ]
34
- .filter((item) => !item.hidden)
35
- .map((item) => (
36
- <Link
37
- key={item.name}
38
- href={item.href}
39
- className="hover:underline"
40
- >
41
- {item.name}
42
- </Link>
43
- ))}
44
- <a
45
- href="https://chat.tscircuit.com"
46
- className="hover:underline"
47
- target="_blank"
48
- >
49
- Create with AI
50
- </a>
51
- </footer>
52
- </div>
53
-
54
- <div className="space-y-4">
55
- <h3 className="font-semibold uppercase">Explore</h3>
56
- <footer className="flex flex-col space-y-2">
57
- <Link href="/latest" className="hover:underline">
58
- Latest Packages
59
- </Link>
60
- <Link href="/trending" className="hover:underline">
61
- Trending Packages
62
- </Link>
63
- <Link href="/search" className="hover:underline">
64
- Search Packages
65
- </Link>
66
- <a href="https://docs.tscircuit.com" className="hover:underline">
67
- Docs
68
- </a>
69
- </footer>
70
- </div>
71
-
72
- <div className="space-y-4">
73
- <h3 className="font-semibold uppercase">Follow</h3>
74
- <footer className="flex flex-col space-y-2">
75
- <a href="https://blog.tscircuit.com" className="hover:underline">
76
- Blog
77
- </a>
78
- <a href="https://x.com/tscircuit" className="hover:underline">
79
- Twitter
80
- </a>
81
- <a href="https://tscircuit.com/join" className="hover:underline">
82
- Discord
83
- </a>
84
- <a
85
- href="https://github.com/tscircuit/tscircuit"
86
- className="hover:underline"
87
- >
88
- GitHub
89
- </a>
90
- <a
91
- href="https://youtube.com/@seveibar"
92
- className="hover:underline"
93
- >
94
- YouTube
95
- </a>
96
- </footer>
97
- </div>
98
-
99
- <div className="space-y-4">
100
- <h3 className="font-semibold uppercase">Company</h3>
101
- <nav className="flex flex-col space-y-2">
102
- <a
103
- href="https://tscircuit.com/legal/terms-of-service"
104
- className="hover:underline"
105
- >
106
- Terms of Service
107
- </a>
108
- <a
109
- href="https://tscircuit.com/legal/privacy-policy"
110
- className="hover:underline"
111
- >
112
- Privacy Policy
113
- </a>
114
- <a
115
- href="mailto:contact@tscircuit.com"
116
- className="hover:underline"
117
- >
118
- contact@tscircuit.com
119
- </a>
120
- <div className="flex-grow" />
121
- <div className="text-xs text-gray-500">
122
- we are inspired by{" "}
123
- <a href="https://val.town" className="underline">
124
- val.town
125
- </a>
126
- ,{" "}
127
- <a href="https://codesandbox.io/" className="underline">
128
- codesandbox
129
- </a>{" "}
130
- and{" "}
131
- <a href="https://v0.dev" className="underline">
132
- v0.dev
133
- </a>
134
- </div>
135
- <div className="text-xs text-gray-500">
136
- &copy; {new Date().getFullYear()} tscircuit Inc.
137
- </div>
138
- </nav>
139
- </div>
140
- </div>
141
- </div>
142
- </footer>
143
- )
144
- }
@@ -1,35 +0,0 @@
1
- import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"
2
-
3
- export const GithubAvatarWithFallback = ({
4
- username,
5
- fallback,
6
- className,
7
- fallbackClassName,
8
- size,
9
- }: {
10
- username?: string | null
11
- fallback?: string | null
12
- className?: string
13
- fallbackClassName?: string
14
- size?: number
15
- }) => {
16
- return (
17
- <Avatar className={className}>
18
- <AvatarImage
19
- src={`https://github.com/${username}.png${size ? `?size=${size}` : ""}`}
20
- alt={`${username || fallback} avatar`}
21
- className="object-cover"
22
- />
23
- <AvatarFallback
24
- className={`bg-blue-100 text-blue-600 ${fallbackClassName}`}
25
- >
26
- {(username || fallback || "")
27
- .split(" ")
28
- .map((word) => word[0])
29
- .join("")
30
- .toUpperCase()
31
- .slice(0, 2)}
32
- </AvatarFallback>
33
- </Avatar>
34
- )
35
- }
@@ -1,202 +0,0 @@
1
- import { HeaderLogin } from "@/components/HeaderLogin"
2
- import { Button } from "@/components/ui/button"
3
- import { useGlobalStore } from "@/hooks/use-global-store"
4
- import { cn } from "@/lib/utils"
5
- import { GitHubLogoIcon, DiscordLogoIcon } from "@radix-ui/react-icons"
6
- import { Menu, X } from "lucide-react"
7
- import React, { useEffect, useState } from "react"
8
- import { useLocation } from "wouter"
9
- import { Link } from "wouter"
10
- import CmdKMenu from "./CmdKMenu"
11
- import HeaderDropdown from "./HeaderDropdown"
12
- import SearchComponent from "./SearchComponent"
13
- import { Analytics } from "./Analytics"
14
-
15
- const HeaderButton = ({
16
- href,
17
- children,
18
- className,
19
- alsoHighlightForUrl,
20
- }: {
21
- href: string
22
- children: React.ReactNode
23
- className?: string
24
- alsoHighlightForUrl?: string
25
- }) => {
26
- const [location] = useLocation()
27
- const isExternal = /^(https?|mailto|tel):\/?\//i.test(href)
28
- if (isExternal) {
29
- return (
30
- <a
31
- className={cn("header-button", className)}
32
- href={href}
33
- target="_blank"
34
- rel="noopener noreferrer"
35
- >
36
- <Button className={className} variant="ghost">
37
- {children}
38
- </Button>
39
- </a>
40
- )
41
- }
42
-
43
- // For internal links, use the Link Component
44
- if (location === href || location === alsoHighlightForUrl) {
45
- return (
46
- <Link className={cn("header-button", className)} href={href}>
47
- <Button
48
- variant="ghost"
49
- className={`border-b-2 rounded-none border-blue-600 header-button ${className}`}
50
- >
51
- {children}
52
- </Button>
53
- </Link>
54
- )
55
- }
56
-
57
- return (
58
- <Link className={cn("header-button", className)} href={href}>
59
- <Button className={className} variant="ghost">
60
- {children}
61
- </Button>
62
- </Link>
63
- )
64
- }
65
-
66
- export default function Header() {
67
- const [mobileMenuOpen, setMobileMenuOpen] = useState(false)
68
- const isLoggedIn = useGlobalStore((s) => Boolean(s.session))
69
- const sessionToken = useGlobalStore((s) => s.session?.token)
70
-
71
- useEffect(() => {
72
- window.TSCIRCUIT_REGISTRY_TOKEN = sessionToken ?? ""
73
- }, [sessionToken])
74
-
75
- return (
76
- <header className="px-4 py-3">
77
- <div className="flex items-center">
78
- <Link
79
- href="/"
80
- className="text-lg font-semibold whitespace-nowrap select-none"
81
- >
82
- <span className="bg-blue-500 px-2 py-1 rounded-md text-white">
83
- tscircuit
84
- </span>
85
- </Link>
86
- <div className="hidden md:flex items-center space-x-4">
87
- <nav>
88
- <ul className="flex items-center gap-2 ml-2">
89
- {isLoggedIn && (
90
- <li>
91
- <HeaderButton href="/dashboard">Dashboard</HeaderButton>
92
- </li>
93
- )}
94
- <li>
95
- <HeaderButton href="/quickstart" alsoHighlightForUrl="/editor">
96
- Editor
97
- </HeaderButton>
98
- </li>
99
- <li>
100
- <a href="https://chat.tscircuit.com">
101
- <Button variant="ghost">AI</Button>
102
- </a>
103
- </li>
104
- <li>
105
- <a href="https://docs.tscircuit.com">
106
- <Button variant="ghost">Docs</Button>
107
- </a>
108
- </li>
109
- </ul>
110
- </nav>
111
- </div>
112
- <div className="flex-grow"></div>
113
- <a
114
- href="https://tscircuit.com/join"
115
- target="_blank"
116
- className="lg:mr-2"
117
- >
118
- <Button variant="ghost">
119
- <DiscordLogoIcon className="text-gray-400 hidden lg:block hover:text-gray-600 transition-colors w-4 h-4" />
120
- </Button>
121
- </a>
122
- <a
123
- href="https://github.com/tscircuit/tscircuit"
124
- target="_blank"
125
- className="lg:mr-4"
126
- aria-label="View TSCircuit on GitHub"
127
- >
128
- <GitHubLogoIcon className="hidden lg:block text-gray-400 hover:text-gray-600 transition-colors" />
129
- </a>
130
- {/* <a href="https://tscircuit.com/join" target="_blank" className="mr-2">
131
- <DiscordLogoIcon className="text-gray-400 hover:text-gray-600 transition-colors" />
132
- </a> */}
133
- <div className="hidden md:flex items-center space-x-4">
134
- <SearchComponent />
135
- <HeaderDropdown />
136
- <HeaderLogin />
137
- </div>
138
- <button
139
- className="md:hidden"
140
- onClick={() => setMobileMenuOpen(!mobileMenuOpen)}
141
- aria-label={mobileMenuOpen ? "Close menu" : "Open menu"}
142
- >
143
- {mobileMenuOpen ? <X size={24} /> : <Menu size={24} />}
144
- </button>
145
- </div>
146
- {mobileMenuOpen && (
147
- <div className="md:hidden mt-4">
148
- <nav className="mb-4">
149
- <ul className="flex flex-col gap-2 w-full">
150
- {isLoggedIn && (
151
- <li>
152
- <HeaderButton
153
- className="w-full justify-start"
154
- href="/dashboard"
155
- >
156
- Dashboard
157
- </HeaderButton>
158
- </li>
159
- )}
160
- <li>
161
- <HeaderButton
162
- className="w-full justify-start"
163
- href="/quickstart"
164
- alsoHighlightForUrl="/editor"
165
- >
166
- Editor
167
- </HeaderButton>
168
- </li>
169
- <li>
170
- <HeaderButton
171
- className="w-full justify-start"
172
- href="https://chat.tscircuit.com"
173
- >
174
- AI
175
- </HeaderButton>
176
- </li>
177
- <li>
178
- <HeaderButton
179
- className="w-full justify-start"
180
- href="https://docs.tscircuit.com"
181
- >
182
- Docs
183
- </HeaderButton>
184
- </li>
185
- <li>
186
- <HeaderButton className="w-full justify-start" href="/search">
187
- Search
188
- </HeaderButton>
189
- </li>
190
- </ul>
191
- </nav>
192
- <div className="flex flex-col gap-4">
193
- <HeaderDropdown />
194
- <HeaderLogin />
195
- </div>
196
- </div>
197
- )}
198
- <CmdKMenu />
199
- <Analytics />
200
- </header>
201
- )
202
- }
@@ -1,202 +0,0 @@
1
- import { Button } from "@/components/ui/button"
2
- import { Search, Menu, X } from "lucide-react"
3
- import { Link } from "wouter"
4
- import { HeaderLogin } from "./HeaderLogin"
5
- import SearchComponent from "./SearchComponent"
6
- import HeaderDropdown from "./HeaderDropdown"
7
- import { useState } from "react"
8
- import { useGlobalStore } from "@/hooks/use-global-store"
9
- import { Analytics } from "./Analytics"
10
- import CmdKMenu from "./CmdKMenu"
11
-
12
- const SearchButtonComponent = () => {
13
- const [isExpanded, setIsExpanded] = useState(false)
14
-
15
- return (
16
- <div className="relative">
17
- {isExpanded ? (
18
- <div className="flex items-center gap-2 ml-8">
19
- <div className="absolute -top-4 right-3 bg-white">
20
- <SearchComponent
21
- autofocus
22
- closeOnClick={() => {
23
- setIsExpanded(false)
24
- }}
25
- />
26
- </div>
27
- </div>
28
- ) : (
29
- <>
30
- <Button
31
- variant="ghost"
32
- size="icon"
33
- onClick={() => setIsExpanded(true)}
34
- className="h-8 w-8 hidden sm:flex"
35
- aria-label="Open search"
36
- >
37
- <Search className="size-4" />
38
- </Button>
39
- <Button
40
- variant="ghost"
41
- size="icon"
42
- onClick={() => (window.location.href = "/search")}
43
- className="h-8 w-8 flex sm:hidden"
44
- aria-label="Go to search"
45
- >
46
- <Search className="size-4" />
47
- </Button>
48
- </>
49
- )}
50
- </div>
51
- )
52
- }
53
-
54
- export const Header2 = () => {
55
- const [mobileMenuOpen, setMobileMenuOpen] = useState(false)
56
- const isLoggedIn = useGlobalStore((state) => Boolean(state.session))
57
-
58
- return (
59
- <>
60
- <header className="sticky top-0 z-50 w-full border-b bg-white md:bg-white/80 md:backdrop-blur supports-[backdrop-filter]:md:bg-white/60">
61
- <div className="container mx-auto flex h-16 items-center justify-between px-2 md:px-6">
62
- <Link href="/" className="flex select-none items-center">
63
- <span className="bg-blue-500 px-2 py-1 rounded-md text-white text-sm font-semibold sm:text-base">
64
- tscircuit
65
- </span>
66
- </Link>
67
-
68
- {/* Desktop Navigation */}
69
- <nav className="hidden md:flex gap-6">
70
- {isLoggedIn && (
71
- <Link
72
- className="text-sm font-medium hover:underline underline-offset-4"
73
- href="/dashboard"
74
- >
75
- Dashboard
76
- </Link>
77
- )}
78
- <Link
79
- className="text-sm font-medium hover:underline underline-offset-4"
80
- href="/quickstart"
81
- >
82
- Editor
83
- </Link>
84
- <a
85
- className="text-sm font-medium hover:underline underline-offset-4"
86
- href="https://docs.tscircuit.com"
87
- >
88
- Docs
89
- </a>
90
- <a
91
- className="text-sm font-medium hover:underline underline-offset-4"
92
- href="https://tscircuit.com/join"
93
- >
94
- Discord
95
- </a>
96
- <a
97
- className="text-sm font-medium hover:underline underline-offset-4"
98
- href="mailto:hello@tscircuit.com"
99
- >
100
- Contact
101
- </a>
102
- </nav>
103
-
104
- {/* Desktop Right Side */}
105
- <div className="hidden md:flex items-center gap-4">
106
- <SearchButtonComponent />
107
- {isLoggedIn && <HeaderDropdown />}
108
- <HeaderLogin />
109
- </div>
110
-
111
- {/* Mobile Right Side */}
112
- <div className="flex md:hidden items-center gap-2">
113
- <Button
114
- variant="ghost"
115
- size="icon"
116
- onClick={() => (window.location.href = "/search")}
117
- className="h-8 w-8"
118
- aria-label="Go to search"
119
- >
120
- <Search className="size-4" />
121
- </Button>
122
- {isLoggedIn ? (
123
- <HeaderLogin />
124
- ) : (
125
- <Link href="/quickstart">
126
- <Button size="sm" className="text-xs px-3 py-1">
127
- Get Started
128
- </Button>
129
- </Link>
130
- )}
131
- <button
132
- className="p-2"
133
- onClick={() => setMobileMenuOpen(!mobileMenuOpen)}
134
- aria-label={mobileMenuOpen ? "Close menu" : "Open menu"}
135
- >
136
- {mobileMenuOpen ? <X size={20} /> : <Menu size={20} />}
137
- </button>
138
- </div>
139
- </div>
140
-
141
- {/* Mobile Menu */}
142
- {mobileMenuOpen && (
143
- <div className="md:hidden border-t bg-white ">
144
- <div className="container mx-auto px-4 py-3">
145
- <nav className="mb-4">
146
- <div className="flex flex-col items-center gap-1">
147
- {isLoggedIn && (
148
- <Link
149
- className="text-sm font-medium hover:underline underline-offset-4 py-2 w-full text-center"
150
- href="/dashboard"
151
- onClick={() => setMobileMenuOpen(false)}
152
- >
153
- Dashboard
154
- </Link>
155
- )}
156
- <Link
157
- className="text-sm font-medium hover:underline underline-offset-4 py-2 w-full text-center"
158
- href="/quickstart"
159
- onClick={() => setMobileMenuOpen(false)}
160
- >
161
- Editor
162
- </Link>
163
- <a
164
- className="text-sm font-medium hover:underline underline-offset-4 py-2 w-full text-center"
165
- href="https://docs.tscircuit.com"
166
- >
167
- Docs
168
- </a>
169
- <a
170
- className="text-sm font-medium hover:underline underline-offset-4 py-2 w-full text-center"
171
- href="https://tscircuit.com/join"
172
- >
173
- Discord
174
- </a>
175
- <a
176
- className="text-sm font-medium hover:underline underline-offset-4 py-2 w-full text-center"
177
- href="mailto:hello@tscircuit.com"
178
- >
179
- Contact
180
- </a>
181
- </div>
182
- </nav>
183
- <div className="flex flex-col items-center gap-4 pt-4 border-t border-gray-200">
184
- {isLoggedIn ? (
185
- <div className="w-full flex justify-center">
186
- <HeaderDropdown />
187
- </div>
188
- ) : (
189
- <div className="w-full flex justify-center">
190
- <HeaderLogin />
191
- </div>
192
- )}
193
- </div>
194
- </div>
195
- </div>
196
- )}
197
- </header>
198
- <CmdKMenu />
199
- <Analytics />
200
- </>
201
- )
202
- }
@@ -1,88 +0,0 @@
1
- import { useState } from "react"
2
- import { Button } from "@/components/ui/button"
3
- import {
4
- DropdownMenu,
5
- DropdownMenuContent,
6
- DropdownMenuItem,
7
- DropdownMenuTrigger,
8
- } from "@/components/ui/dropdown-menu"
9
- import { cn } from "@/lib/utils"
10
- import { ChevronDown, FileUp, Upload, Zap } from "lucide-react"
11
- import { Link } from "wouter"
12
-
13
- export default function HeaderDropdown() {
14
- const [open, setOpen] = useState(false)
15
- const blankTemplates = [
16
- { name: "Blank Circuit Board", type: "board", badgeColor: "bg-blue-500" },
17
- {
18
- name: "Blank Circuit Module",
19
- type: "package",
20
- badgeColor: "bg-green-500",
21
- },
22
- {
23
- name: "Blank 3D Model",
24
- type: "model",
25
- badgeColor: "bg-purple-500 ",
26
- disabled: true,
27
- },
28
- {
29
- name: "Blank Footprint",
30
- type: "footprint",
31
- badgeColor: "bg-pink-500 ",
32
- disabled: true,
33
- },
34
- ]
35
-
36
- return (
37
- <DropdownMenu open={open} onOpenChange={setOpen}>
38
- <DropdownMenuTrigger asChild>
39
- <Button
40
- size="sm"
41
- variant="default"
42
- className="bg-blue-600 hover:bg-blue-700"
43
- >
44
- New <ChevronDown className="ml-1 h-4 w-4" />
45
- </Button>
46
- </DropdownMenuTrigger>
47
- <DropdownMenuContent className="w-fit">
48
- <DropdownMenuItem asChild>
49
- <Link
50
- href="/quickstart"
51
- className="flex items-center cursor-pointer"
52
- onClick={() => setOpen(false)}
53
- >
54
- <Zap className="mr-2 h-3 w-3" />
55
- Quickstart Templates
56
- </Link>
57
- </DropdownMenuItem>
58
- {blankTemplates.map((template, index) => (
59
- <DropdownMenuItem key={index} asChild disabled={template.disabled}>
60
- <Link
61
- href={`/editor?template=${template.name.toLowerCase().replace(/ /g, "-")}`}
62
- className={cn(
63
- "flex items-center cursor-pointer",
64
- template.disabled && "opacity-50 cursor-not-allowed",
65
- )}
66
- onClick={() => !template.disabled && setOpen(false)}
67
- >
68
- <span
69
- className={`w-2 h-2 rounded-full mr-2 ${template.badgeColor}`}
70
- />
71
- {template.name}
72
- </Link>
73
- </DropdownMenuItem>
74
- ))}
75
- <DropdownMenuItem asChild>
76
- <Link
77
- href="/quickstart"
78
- className="flex items-center cursor-pointer"
79
- onClick={() => setOpen(false)}
80
- >
81
- <Upload className="mr-2 h-3 w-3" />
82
- Import Part
83
- </Link>
84
- </DropdownMenuItem>
85
- </DropdownMenuContent>
86
- </DropdownMenu>
87
- )
88
- }