@tscircuit/fake-snippets 0.0.119 → 0.0.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/bun-pver-release.yml +29 -4
- package/bun-tests/fake-snippets-api/routes/bug_reports/create.test.ts +37 -0
- package/bun-tests/fake-snippets-api/routes/bug_reports/upload_file.test.ts +89 -0
- package/bun.lock +2 -2
- package/dist/assets/404-CnNkOMw-.js +1 -0
- package/dist/assets/Analytics-DIw7l2gi.js +84 -0
- package/dist/assets/BuildsList-CeqVVhbz.js +1 -0
- package/dist/assets/CodeAndPreview-Dycd0s15.js +722 -0
- package/dist/assets/DownloadButtonAndMenu-OIUhbKkj.js +194 -0
- package/dist/assets/FileSaver.min-BDsOlqKl.js +1 -0
- package/dist/assets/Footer-DU-HdqGk.js +1 -0
- package/dist/assets/GithubAvatarWithFallback-CQhrBiKP.js +6 -0
- package/dist/assets/Header-CI4GZVOv.js +1 -0
- package/dist/assets/Header2-CrMDmo3P.js +5 -0
- package/dist/assets/NotFound-DaXtEPsC.js +1 -0
- package/dist/assets/OrganizationCard-Bs2dw-AL.js +1 -0
- package/dist/assets/PackageBreadcrumb-DpOpPbGc.js +6 -0
- package/dist/assets/PackageCard-ejE2dLlA.js +16 -0
- package/dist/assets/PackageSearchResults-BI3Rtmr2.js +1 -0
- package/dist/assets/ProfileRouter-4xNgtXr5.js +6 -0
- package/dist/assets/alert-dialog-DrOB4Tui.js +1 -0
- package/dist/assets/authorize-D-5R3QHA.js +16 -0
- package/dist/assets/badge-Bk-k6kyg.js +1 -0
- package/dist/assets/card-CzXDit7x.js +1 -0
- package/dist/assets/circle-alert-Du9-4of0.js +6 -0
- package/dist/assets/circle-check-big-KaRyRsht.js +6 -0
- package/dist/assets/cpu-BnvjzmIA.js +6 -0
- package/dist/assets/create-organization-BHNFvE7B.js +1 -0
- package/dist/assets/dashboard-DDH4V91X.js +11 -0
- package/dist/assets/datasheet-DqKtWt-O.js +1 -0
- package/dist/assets/datasheets-4W6pEMf3.js +1 -0
- package/dist/assets/dev-login-CbHdDthp.js +1 -0
- package/dist/assets/editor-bqg9Yv91.js +1 -0
- package/dist/assets/editor_example_1-1000w.webp +0 -0
- package/dist/assets/editor_example_1-1200w.webp +0 -0
- package/dist/assets/editor_example_1-1600w.webp +0 -0
- package/dist/assets/editor_example_1-2000w.webp +0 -0
- package/dist/assets/editor_example_1-400w.webp +0 -0
- package/dist/assets/editor_example_1-600w.webp +0 -0
- package/dist/assets/editor_example_1-800w.webp +0 -0
- package/dist/assets/editor_example_1_more_square-1000w.webp +0 -0
- package/dist/assets/editor_example_1_more_square-1200w.webp +0 -0
- package/dist/assets/editor_example_1_more_square-1600w.webp +0 -0
- package/dist/assets/editor_example_1_more_square-2000w.webp +0 -0
- package/dist/assets/editor_example_1_more_square-400w.webp +0 -0
- package/dist/assets/editor_example_1_more_square-600w.webp +0 -0
- package/dist/assets/editor_example_1_more_square-800w.webp +0 -0
- package/dist/assets/editor_example_2-1000w.webp +0 -0
- package/dist/assets/editor_example_2-1200w.webp +0 -0
- package/dist/assets/editor_example_2-1600w.webp +0 -0
- package/dist/assets/editor_example_2-2000w.webp +0 -0
- package/dist/assets/editor_example_2-400w.webp +0 -0
- package/dist/assets/editor_example_2-600w.webp +0 -0
- package/dist/assets/editor_example_2-800w.webp +0 -0
- package/dist/assets/example_schematic-1000w.webp +0 -0
- package/dist/assets/example_schematic-1200w.webp +0 -0
- package/dist/assets/example_schematic-1600w.webp +0 -0
- package/dist/assets/example_schematic-2000w.webp +0 -0
- package/dist/assets/example_schematic-400w.webp +0 -0
- package/dist/assets/example_schematic-600w.webp +0 -0
- package/dist/assets/example_schematic-800w.webp +0 -0
- package/dist/assets/eye-B_NMTTT7.js +6 -0
- package/dist/assets/fallback-image.svg +1 -0
- package/dist/assets/favicon-BwEjZKGP.ico +0 -0
- package/dist/assets/formatTimeAgo-CawXna5h.js +6 -0
- package/dist/assets/github-DjKGjbX1.js +6 -0
- package/dist/assets/github-dark-DHJKELXO.js +1 -0
- package/dist/assets/github-light-DAi9KRSo.js +1 -0
- package/dist/assets/hash-DfKYpqTm.js +6 -0
- package/dist/assets/index-B17tE1vy.js +1 -0
- package/dist/assets/index-BQPj88OW.js +6051 -0
- package/dist/assets/index-DvNLZBaq.js +6 -0
- package/dist/assets/keyboard-4b_qLHIF.js +11 -0
- package/dist/assets/label-CTudXc4q.js +1 -0
- package/dist/assets/landing-Cjvvx-9q.js +11 -0
- package/dist/assets/latest-DMk4BmXW.js +1 -0
- package/dist/assets/layers-BJ1iwaVM.js +6 -0
- package/dist/assets/load-prettier-DgbV1Jgu.js +1 -0
- package/dist/assets/lock-BOZRJdUv.js +6 -0
- package/dist/assets/main-DPEM9abA.js +26 -0
- package/dist/assets/main-MTKdI4FA.css +1 -0
- package/dist/assets/my-orders-B7lEyNR9.js +1 -0
- package/dist/assets/organization-settings-rNvhYFgZ.js +6 -0
- package/dist/assets/package-editor-T4WIRP49.js +1 -0
- package/dist/assets/pen-D54fxNRf.js +6 -0
- package/dist/assets/plus-KkE_6Dq2.js +6 -0
- package/dist/assets/preview-release-DWhKHFWp.js +1 -0
- package/dist/assets/quickstart-WF3HR9Dc.js +1 -0
- package/dist/assets/refresh-cw-aWASTRku.js +6 -0
- package/dist/assets/release-builds-COa5ndHa.js +1 -0
- package/dist/assets/release-detail-iclJPUO-.js +6 -0
- package/dist/assets/releases-Clsyp-7n.js +1 -0
- package/dist/assets/role-badge-BGF_IMlO.js +16 -0
- package/dist/assets/search-CwH23pAU.js +1 -0
- package/dist/assets/select-BN8AF1J7.js +1 -0
- package/dist/assets/settings-B2bMEtS4.js +6 -0
- package/dist/assets/skeleton-DLAS40-y.js +1 -0
- package/dist/assets/svg-to-png-BX4YEHCP-JcDm8Hc5.js +1 -0
- package/dist/assets/svg-to-png-BX4YEHCP-pNo9Afg8.js +1 -0
- package/dist/assets/tabs-Ce0NFuwd.js +1 -0
- package/dist/assets/timeAgo-VY0F2EV9.js +10 -0
- package/dist/assets/tooltip-C1pwvC0K.js +11 -0
- package/dist/assets/trash-2-BW3eClHz.js +6 -0
- package/dist/assets/trending-C8246HGf.js +1 -0
- package/dist/assets/triangle-alert-BMIBEO1D.js +6 -0
- package/dist/assets/tsx-COt5Ahok.js +1 -0
- package/dist/assets/use-create-datasheet-B7TDsTUt.js +1 -0
- package/dist/assets/use-delete-package-DLKtoTOj.js +1 -0
- package/dist/assets/use-download-zip-CAOKjGXW.js +1 -0
- package/dist/assets/use-list-user-orgs-CgJIT7N4.js +1 -0
- package/dist/assets/use-organization-XwYYTFck.js +1 -0
- package/dist/assets/use-package-builds-Bx8rfxi1.js +1 -0
- package/dist/assets/use-package-by-package-name-1s1Pcarw.js +1 -0
- package/dist/assets/use-package-files-CmmWVuGn.js +1 -0
- package/dist/assets/use-package-release-by-id-or-version-BuuXcSZq.js +1 -0
- package/dist/assets/use-package-release-images-BMaZtvmk.js +1 -0
- package/dist/assets/use-packages-base-api-url-DA1hucM7.js +1 -0
- package/dist/assets/useQueries-BJ7Ue7HV.js +1 -0
- package/dist/assets/user-settings-BqO5FkMf.js +1 -0
- package/dist/assets/view-package-C-OvJr_Q.js +165 -0
- package/dist/assets/vitesse-light-CVO1_9PV.js +1 -0
- package/dist/assets/wasm-CG6Dc4jp.js +1 -0
- package/dist/index.html +127 -0
- package/dist/landing.html +34 -0
- package/dist/robots.txt +9 -0
- package/dist/sitemap.xml +118 -0
- package/dist/stats.html +4949 -0
- package/fake-snippets-api/lib/db/db-client.ts +89 -0
- package/fake-snippets-api/lib/db/schema.ts +29 -0
- package/fake-snippets-api/routes/api/bug_reports/create.ts +43 -0
- package/fake-snippets-api/routes/api/bug_reports/upload_file.ts +113 -0
- package/package.json +2 -2
- package/src/components/Header.tsx +16 -0
- package/src/components/PackageCard.tsx +7 -4
- package/src/components/PackageSearchResults.tsx +1 -7
- package/src/components/SearchComponent.tsx +64 -53
- package/src/components/TrendingPackagesCarousel.tsx +16 -23
- package/src/components/ViewPackagePage/components/mobile-sidebar.tsx +3 -2
- package/src/components/ViewPackagePage/components/preview-image-squares.tsx +6 -3
- package/src/hooks/use-preview-images.ts +22 -17
- package/src/hooks/useUpdatePackageFilesMutation.ts +8 -0
- package/src/lib/utils/getPackagePreviewImageUrl.ts +15 -0
- package/src/pages/dashboard.tsx +0 -1
- package/src/pages/editor.tsx +12 -9
- package/src/pages/organization-profile.tsx +0 -1
- package/src/pages/package-editor.tsx +13 -9
- package/src/pages/user-profile.tsx +0 -1
- package/dist/bundle.js +0 -9034
- package/dist/index.d.ts +0 -2065
- package/dist/index.js +0 -3737
- package/dist/schema.d.ts +0 -2972
- package/dist/schema.js +0 -426
- package/fake-snippets-api/bun.lockb +0 -0
|
@@ -1,46 +1,50 @@
|
|
|
1
|
-
import { useState } from "react"
|
|
1
|
+
import { useEffect, useState } from "react"
|
|
2
2
|
|
|
3
3
|
interface UsePreviewImagesProps {
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
cadPreviewUrl?: string | null
|
|
5
|
+
pcbPreviewUrl?: string | null
|
|
6
|
+
schematicPreviewUrl?: string | null
|
|
6
7
|
}
|
|
7
8
|
|
|
8
9
|
export function usePreviewImages({
|
|
9
|
-
|
|
10
|
-
|
|
10
|
+
cadPreviewUrl,
|
|
11
|
+
pcbPreviewUrl,
|
|
12
|
+
schematicPreviewUrl,
|
|
11
13
|
}: UsePreviewImagesProps) {
|
|
12
14
|
const [imageStatus, setImageStatus] = useState<
|
|
13
15
|
Record<string, "loading" | "loaded" | "error">
|
|
14
16
|
>({
|
|
15
|
-
"3d": "loading",
|
|
16
|
-
pcb: "loading",
|
|
17
|
-
schematic: "loading",
|
|
17
|
+
"3d": cadPreviewUrl ? "loading" : "error",
|
|
18
|
+
pcb: pcbPreviewUrl ? "loading" : "error",
|
|
19
|
+
schematic: schematicPreviewUrl ? "loading" : "error",
|
|
18
20
|
})
|
|
19
21
|
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
setImageStatus({
|
|
24
|
+
"3d": cadPreviewUrl ? "loading" : "error",
|
|
25
|
+
pcb: pcbPreviewUrl ? "loading" : "error",
|
|
26
|
+
schematic: schematicPreviewUrl ? "loading" : "error",
|
|
27
|
+
})
|
|
28
|
+
}, [cadPreviewUrl, pcbPreviewUrl, schematicPreviewUrl])
|
|
29
|
+
|
|
20
30
|
const views = [
|
|
21
31
|
{
|
|
22
32
|
id: "3d",
|
|
23
33
|
label: "3D View",
|
|
24
34
|
backgroundClass: "bg-gray-100",
|
|
25
|
-
imageUrl:
|
|
26
|
-
? `https://api.tscircuit.com/packages/images/${packageName}/3d.png?fs_sha=${fsMapHash}`
|
|
27
|
-
: undefined,
|
|
35
|
+
imageUrl: cadPreviewUrl ?? undefined,
|
|
28
36
|
},
|
|
29
37
|
{
|
|
30
38
|
id: "pcb",
|
|
31
39
|
label: "PCB View",
|
|
32
40
|
backgroundClass: "bg-black",
|
|
33
|
-
imageUrl:
|
|
34
|
-
? `https://api.tscircuit.com/packages/images/${packageName}/pcb.png?fs_sha=${fsMapHash}`
|
|
35
|
-
: undefined,
|
|
41
|
+
imageUrl: pcbPreviewUrl ?? undefined,
|
|
36
42
|
},
|
|
37
43
|
{
|
|
38
44
|
id: "schematic",
|
|
39
45
|
label: "Schematic View",
|
|
40
46
|
backgroundClass: "bg-[#F5F1ED]",
|
|
41
|
-
imageUrl:
|
|
42
|
-
? `https://api.tscircuit.com/packages/images/${packageName}/schematic.png?fs_sha=${fsMapHash}`
|
|
43
|
-
: undefined,
|
|
47
|
+
imageUrl: schematicPreviewUrl ?? undefined,
|
|
44
48
|
},
|
|
45
49
|
]
|
|
46
50
|
|
|
@@ -59,6 +63,7 @@ export function usePreviewImages({
|
|
|
59
63
|
}
|
|
60
64
|
|
|
61
65
|
const availableViews = views
|
|
66
|
+
.filter((view) => Boolean(view.imageUrl))
|
|
62
67
|
.map((view) => ({
|
|
63
68
|
...view,
|
|
64
69
|
status: imageStatus[view.id],
|
|
@@ -88,6 +88,14 @@ export function useUpdatePackageFilesMutation({
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
+
|
|
92
|
+
if (!currentPackage) {
|
|
93
|
+
await axios.post("/package_releases/update", {
|
|
94
|
+
package_name_with_version: newPackage.package_name_with_version,
|
|
95
|
+
ready_to_build: true,
|
|
96
|
+
})
|
|
97
|
+
}
|
|
98
|
+
|
|
91
99
|
return updatedFilesCount
|
|
92
100
|
},
|
|
93
101
|
onSuccess: (updatedFilesCount) => {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Package } from "fake-snippets-api/lib/db/schema"
|
|
2
|
+
|
|
3
|
+
export const getPackagePreviewImageUrl = (
|
|
4
|
+
pkg: Package,
|
|
5
|
+
view: "pcb" | "schematic" | "3d" = "pcb",
|
|
6
|
+
) => {
|
|
7
|
+
switch (view) {
|
|
8
|
+
case "schematic":
|
|
9
|
+
return pkg.latest_sch_preview_image_url
|
|
10
|
+
case "3d":
|
|
11
|
+
return pkg.latest_cad_preview_image_url
|
|
12
|
+
default:
|
|
13
|
+
return pkg.latest_pcb_preview_image_url
|
|
14
|
+
}
|
|
15
|
+
}
|
package/src/pages/dashboard.tsx
CHANGED
package/src/pages/editor.tsx
CHANGED
|
@@ -8,6 +8,11 @@ export const EditorPage = () => {
|
|
|
8
8
|
const { packageInfo: pkg, error } = useCurrentPackageInfo()
|
|
9
9
|
|
|
10
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
|
|
11
16
|
|
|
12
17
|
return (
|
|
13
18
|
<div className="overflow-x-hidden">
|
|
@@ -21,15 +26,13 @@ export const EditorPage = () => {
|
|
|
21
26
|
property="og:title"
|
|
22
27
|
content={`${pkg.unscoped_name} - tscircuit`}
|
|
23
28
|
/>
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
content={`https://api.tscircuit.com/packages/images/${pkg.owner_github_username}/${pkg.unscoped_name}/pcb.png?fs_sha=${pkg.latest_package_release_fs_sha}`}
|
|
32
|
-
/>
|
|
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
|
+
)}
|
|
33
36
|
</>
|
|
34
37
|
)}
|
|
35
38
|
</Helmet>
|
|
@@ -12,6 +12,12 @@ export const EditorPage = () => {
|
|
|
12
12
|
/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/,
|
|
13
13
|
)
|
|
14
14
|
|
|
15
|
+
const previewImageUrl =
|
|
16
|
+
pkg?.latest_pcb_preview_image_url ??
|
|
17
|
+
pkg?.latest_sch_preview_image_url ??
|
|
18
|
+
pkg?.latest_cad_preview_image_url ??
|
|
19
|
+
undefined
|
|
20
|
+
|
|
15
21
|
return (
|
|
16
22
|
<div className="flex flex-col h-screen overflow-x-hidden">
|
|
17
23
|
<Helmet>
|
|
@@ -22,15 +28,13 @@ export const EditorPage = () => {
|
|
|
22
28
|
property="og:title"
|
|
23
29
|
content={`${pkg.unscoped_name} - tscircuit`}
|
|
24
30
|
/>
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
content={`https://api.tscircuit.com/packages/images/${pkg.owner_github_username}/${pkg.unscoped_name}/pcb.png?fs_sha=${pkg.latest_package_release_fs_sha}`}
|
|
33
|
-
/>
|
|
31
|
+
{previewImageUrl && (
|
|
32
|
+
<>
|
|
33
|
+
<meta property="og:image" content={previewImageUrl} />
|
|
34
|
+
<meta name="twitter:card" content="summary_large_image" />
|
|
35
|
+
<meta name="twitter:image" content={previewImageUrl} />
|
|
36
|
+
</>
|
|
37
|
+
)}
|
|
34
38
|
</>
|
|
35
39
|
)}
|
|
36
40
|
</Helmet>
|