From 53eaa2e0f4531b7747f710c3c4506dfcc16f610a Mon Sep 17 00:00:00 2001 From: Kurt Hutten Date: Sun, 18 Jul 2021 18:16:28 +1000 Subject: [PATCH 1/6] Remove console noise --- app/web/src/components/IdeContainer/IdeContainer.tsx | 2 +- app/web/src/components/IdeViewer/IdeViewer.tsx | 2 +- .../ProfileSlashLogin/ProfileSlashLogin.tsx | 12 +++--------- .../src/components/ProfileViewer/ProfileViewer.tsx | 7 +------ 4 files changed, 6 insertions(+), 17 deletions(-) diff --git a/app/web/src/components/IdeContainer/IdeContainer.tsx b/app/web/src/components/IdeContainer/IdeContainer.tsx index 9d0ce9f..187ad89 100644 --- a/app/web/src/components/IdeContainer/IdeContainer.tsx +++ b/app/web/src/components/IdeContainer/IdeContainer.tsx @@ -21,7 +21,7 @@ const SmallLoadingPing = ( ) -const BigLoadingPing = () => ( +export const BigLoadingPing = (
diff --git a/app/web/src/components/IdeViewer/IdeViewer.tsx b/app/web/src/components/IdeViewer/IdeViewer.tsx index 305c2f4..38b24b9 100644 --- a/app/web/src/components/IdeViewer/IdeViewer.tsx +++ b/app/web/src/components/IdeViewer/IdeViewer.tsx @@ -163,7 +163,7 @@ const IdeViewer = ({ Loading }) => { const indigo900 = '#312E81' return (
- {state.isLoading && } + {state.isLoading && Loading} {image && (
{ const { logOut, isAuthenticated, currentUser, client } = useAuth() @@ -43,21 +44,14 @@ const ProfileSlashLogin = () => {
{isAuthenticated ? (
) : ( diff --git a/app/web/src/components/ProfileViewer/ProfileViewer.tsx b/app/web/src/components/ProfileViewer/ProfileViewer.tsx index 87ede95..4caa79f 100644 --- a/app/web/src/components/ProfileViewer/ProfileViewer.tsx +++ b/app/web/src/components/ProfileViewer/ProfileViewer.tsx @@ -1,12 +1,7 @@ import { lazy, Suspense } from 'react' const IdeViewer = lazy(() => import('src/components/IdeViewer/IdeViewer')) import { use3dViewerResize } from 'src/helpers/hooks/use3dViewerResize' - -const BigLoadingPing = () => ( -
-
-
-) +import { BigLoadingPing } from 'src/components/IdeContainer/IdeContainer' const ProfileViewer = () => { const { viewerDomRef } = use3dViewerResize() From 0100836e314bb148643e43c7e055958540559246 Mon Sep 17 00:00:00 2001 From: Kurt Hutten Date: Sun, 18 Jul 2021 18:32:58 +1000 Subject: [PATCH 2/6] Fix renaming project title --- app/web/src/helpers/hooks/useUpdateProject.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/web/src/helpers/hooks/useUpdateProject.ts b/app/web/src/helpers/hooks/useUpdateProject.ts index f398f06..f907cfe 100644 --- a/app/web/src/helpers/hooks/useUpdateProject.ts +++ b/app/web/src/helpers/hooks/useUpdateProject.ts @@ -7,6 +7,10 @@ const UPDATE_PROJECT_MUTATION_HOOK = gql` ) { updateProject: updateProject(id: $id, input: $input) { id + title + user { + userName + } } } ` From 5a045fd89d17fd4f42e0228599fe6f8204a0630d Mon Sep 17 00:00:00 2001 From: Kurt Hutten Date: Sun, 18 Jul 2021 18:55:55 +1000 Subject: [PATCH 3/6] solve weird issues where seperate query would fire each others oncempleted --- app/web/src/helpers/hooks/useUpdateProject.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/app/web/src/helpers/hooks/useUpdateProject.ts b/app/web/src/helpers/hooks/useUpdateProject.ts index f907cfe..63cc073 100644 --- a/app/web/src/helpers/hooks/useUpdateProject.ts +++ b/app/web/src/helpers/hooks/useUpdateProject.ts @@ -6,7 +6,6 @@ const UPDATE_PROJECT_MUTATION_HOOK = gql` $input: UpdateProjectInput! ) { updateProject: updateProject(id: $id, input: $input) { - id title user { userName From b0bdb2c6f6143c798c5e99b746b08f77453d1df0 Mon Sep 17 00:00:00 2001 From: Kurt Hutten Date: Sun, 18 Jul 2021 19:28:03 +1000 Subject: [PATCH 4/6] Fix canvas jumping on screen cap --- app/web/src/components/CaptureButton/CaptureButton.tsx | 1 - app/web/src/components/IdeViewer/IdeViewer.tsx | 3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/app/web/src/components/CaptureButton/CaptureButton.tsx b/app/web/src/components/CaptureButton/CaptureButton.tsx index c0b66ce..213bb6d 100644 --- a/app/web/src/components/CaptureButton/CaptureButton.tsx +++ b/app/web/src/components/CaptureButton/CaptureButton.tsx @@ -60,7 +60,6 @@ const CaptureButton = ({ canEdit, TheButton, shouldUpdateImage }) => { }) updateCanvasSize(oldSize) } else { - console.log(project?.title) imgBlob = state.objectData.data } const config = { diff --git a/app/web/src/components/IdeViewer/IdeViewer.tsx b/app/web/src/components/IdeViewer/IdeViewer.tsx index 38b24b9..85675b6 100644 --- a/app/web/src/components/IdeViewer/IdeViewer.tsx +++ b/app/web/src/components/IdeViewer/IdeViewer.tsx @@ -36,14 +36,13 @@ function Controls({ onCameraChange, onDragStart, onInit }) { const { camera, gl } = threeInstance useEffect(() => { onInit(threeInstance) - }, []) - useEffect(() => { // init camera position camera.position.x = 200 camera.position.y = 140 camera.position.z = 20 camera.far = 10000 camera.fov = 22.5 // matches default openscad fov + camera.updateProjectionMatrix() // Order matters with Euler rotations // We want it to rotate around the z or vertical axis first then the x axis to match openscad From 754436c79dacc203c07c10149ac739b9c1c05fba Mon Sep 17 00:00:00 2001 From: Kurt Hutten Date: Sun, 18 Jul 2021 19:50:39 +1000 Subject: [PATCH 5/6] Make sure old links still work in the dev-IdeWrapper by making it case-insensitive, forcing it to lower case. --- app/web/src/components/IdeWrapper/IdeWrapper.tsx | 1 - app/web/src/components/IdeWrapper/useSaveCode.ts | 2 +- app/web/src/pages/DevIdePage/DevIdePage.tsx | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/app/web/src/components/IdeWrapper/IdeWrapper.tsx b/app/web/src/components/IdeWrapper/IdeWrapper.tsx index 30aa244..aaac47d 100644 --- a/app/web/src/components/IdeWrapper/IdeWrapper.tsx +++ b/app/web/src/components/IdeWrapper/IdeWrapper.tsx @@ -6,7 +6,6 @@ import IdeSideBar from 'src/components/IdeSideBar/IdeSideBar' import IdeHeader from 'src/components/IdeHeader/IdeHeader' import Svg from 'src/components/Svg/Svg' import { useIdeInit } from 'src/components/EncodedUrl/helpers' -import type { Project } from 'src/components/IdeProjectCell/IdeProjectCell' import { useIdeContext } from 'src/helpers/hooks/useIdeContext' import { useSaveCode } from 'src/components/IdeWrapper/useSaveCode' diff --git a/app/web/src/components/IdeWrapper/useSaveCode.ts b/app/web/src/components/IdeWrapper/useSaveCode.ts index 6b13b94..8a26161 100644 --- a/app/web/src/components/IdeWrapper/useSaveCode.ts +++ b/app/web/src/components/IdeWrapper/useSaveCode.ts @@ -18,7 +18,7 @@ export const useSaveCode = () => { if (!!error !== nowError) { setNowError(!!error) } - if (project?.user?.id !== currentUser?.sub) { + if (!currentUser || project?.user?.id !== currentUser?.sub) { return () => console.log('not your project') } return (input: Prisma.ProjectUpdateInput) => { diff --git a/app/web/src/pages/DevIdePage/DevIdePage.tsx b/app/web/src/pages/DevIdePage/DevIdePage.tsx index 399acee..19b70f4 100644 --- a/app/web/src/pages/DevIdePage/DevIdePage.tsx +++ b/app/web/src/pages/DevIdePage/DevIdePage.tsx @@ -21,7 +21,7 @@ const DevIdePage = ({ cadPackage, project }: Props) => { /> - +
) From 90e4d84865772f8a7cfacb43c5cb4c7b00674e6d Mon Sep 17 00:00:00 2001 From: Kurt Hutten Date: Sun, 18 Jul 2021 20:08:05 +1000 Subject: [PATCH 6/6] Enforce 25 character titles on front end --- .../EditableProjecTitle/EditableProjecTitle.tsx | 10 +++++++--- app/web/src/pages/ProjectPage/ProjectPage.tsx | 2 ++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/web/src/components/EditableProjecTitle/EditableProjecTitle.tsx b/app/web/src/components/EditableProjecTitle/EditableProjecTitle.tsx index ace7a3c..1f6e42d 100644 --- a/app/web/src/components/EditableProjecTitle/EditableProjecTitle.tsx +++ b/app/web/src/components/EditableProjecTitle/EditableProjecTitle.tsx @@ -36,8 +36,12 @@ const EditableProjectTitle = ({ toast.success('Project updated.') }, }) - const onTitleChange = ({ target }) => - setNewTitle(target.value.replace(/([^a-zA-Z\d_:])/g, '-')) + const onTitleChange = ({ target }) => { + if (target.value.length > 25) { + toast.error('Titles must be 25 or less characters') + } + setNewTitle(target.value.replace(/([^a-zA-Z\d_:])/g, '-').slice(0, 25)) + } return ( <> {!inEditMode && ( @@ -68,7 +72,7 @@ const EditableProjectTitle = ({ / { const { currentUser } = useAuth() @@ -11,6 +12,7 @@ const ProjectPage = ({ userName, projectTitle }) => { return ( <> +