From 2d366b930069852b4f824b106254b74eadb3f20e Mon Sep 17 00:00:00 2001 From: RobertPechaCZ Date: Mon, 26 May 2025 12:49:37 +0200 Subject: [PATCH 1/6] fix: redirect user to new project after its creation --- .../CreateProject/CreateProject.tsx | 47 ++++++++++--------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/src/components/CreateProject/CreateProject.tsx b/src/components/CreateProject/CreateProject.tsx index c89cebd3..aef39a89 100644 --- a/src/components/CreateProject/CreateProject.tsx +++ b/src/components/CreateProject/CreateProject.tsx @@ -1,18 +1,20 @@ -import { createProjectSchema } from '@fleek-platform/utils-validation'; -import { useClient } from 'urql'; - -import { constants } from '@/constants'; -import { useCreateProjectMutation } from '@/generated/graphqlClient'; -import { useToast } from '@/hooks/useToast'; -import { useCookies } from '@/providers/CookiesProvider'; -import { useProjectContext } from '@/providers/ProjectProvider'; -import { Button, Dialog, Text } from '@/ui'; - -import { Form } from '../Form/Form'; -import { LearnMoreMessage } from '../LearnMoreMessage/LearnMoreMessage'; -import { Modal } from '../Modal/Modal'; -import { ProjectField } from '../ProjectField/ProjectField'; -import { useAuthProviders } from '@/hooks/useAuthProviders'; +import { createProjectSchema } from "@fleek-platform/utils-validation"; +import { useClient } from "urql"; + +import { constants } from "@/constants"; +import { useCreateProjectMutation } from "@/generated/graphqlClient"; +import { useToast } from "@/hooks/useToast"; +import { useCookies } from "@/providers/CookiesProvider"; +import { useProjectContext } from "@/providers/ProjectProvider"; +import { Button, Dialog, Text } from "@/ui"; +import { useRouter } from "@/hooks/useRouter"; + +import { Form } from "../Form/Form"; +import { LearnMoreMessage } from "../LearnMoreMessage/LearnMoreMessage"; +import { Modal } from "../Modal/Modal"; +import { ProjectField } from "../ProjectField/ProjectField"; +import { useAuthProviders } from "@/hooks/useAuthProviders"; +import { routes } from "@fleek-platform/utils-routes"; export const CreateProject: React.FC = () => { const { isCreateProjectModalOpen: isModalOpen, setIsCreateProjectModalOpen } = @@ -24,10 +26,11 @@ export const CreateProject: React.FC = () => { const [, createProject] = useCreateProjectMutation(); const providers = useAuthProviders(); + const router = useRouter(); const createProjectForm = Form.useForm({ values: { - name: '', + name: "", }, schema: createProjectSchema.shape.data, extraValidations: { @@ -42,7 +45,7 @@ export const CreateProject: React.FC = () => { if (error || !data?.createProject?.id) { throw ( - error || new Error('There was an error creating the new project') + error || new Error("There was an error creating the new project") ); } @@ -50,10 +53,12 @@ export const CreateProject: React.FC = () => { data.createProject.id, ); - cookies.set('accessToken', accessToken); - cookies.set('projectId', data.createProject.id); + cookies.set("accessToken", accessToken); + cookies.set("projectId", data.createProject.id); - handleModalChange(false); + await router.replace( + routes.project.home({ projectId: data.createProject.id }), + ); } catch (error) { toast.error({ error, @@ -72,7 +77,7 @@ export const CreateProject: React.FC = () => { const handleModalChange = (isOpen: boolean): void => { if (!isOpen) { - createProjectForm.resetForm({ name: '' }); + createProjectForm.resetForm({ name: "" }); } setIsCreateProjectModalOpen(isOpen); From e3b6e4d6e4104910ef6db1d1d9d042fa4e02b24b Mon Sep 17 00:00:00 2001 From: RobertPechaCZ Date: Mon, 26 May 2025 13:33:38 +0200 Subject: [PATCH 2/6] fix: remove SubscriptionResponse from useCancelMutation hook since response from Rest API is actually empty if 200 --- src/hooks/useCancelSubscription.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/hooks/useCancelSubscription.ts b/src/hooks/useCancelSubscription.ts index 755a93e9..25d96eb8 100644 --- a/src/hooks/useCancelSubscription.ts +++ b/src/hooks/useCancelSubscription.ts @@ -3,7 +3,6 @@ import { useCallback } from 'react'; import { BackendApiClient } from '@/integrations/new-be/BackendApi'; import { useCookies } from '@/providers/CookiesProvider'; -import { SubscriptionResponse } from '@/types/Billing'; import { Log } from '@/utils/log'; type UseCancelMockedMutationArgs = { @@ -32,10 +31,6 @@ export const useCancelMockedMutation = ({ if (!response.ok) { throw response.statusText; } - - const result: SubscriptionResponse = await response.json(); - - return result; } catch (error) { Log.error('Failed to fetch subscription data', error); From 0a07a2c00939b00c1b3589cd360529286bb287c0 Mon Sep 17 00:00:00 2001 From: RobertPechaCZ Date: Mon, 26 May 2025 15:32:50 +0200 Subject: [PATCH 3/6] fix: missing currentUserMembership error --- src/hooks/useMainNavigationItems.ts | 4 ++++ src/providers/PermissionsProvider.tsx | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/hooks/useMainNavigationItems.ts b/src/hooks/useMainNavigationItems.ts index f54783b7..e40f51f3 100644 --- a/src/hooks/useMainNavigationItems.ts +++ b/src/hooks/useMainNavigationItems.ts @@ -50,6 +50,10 @@ export const useMainNavigationItems = () => { const projectId = session.project?.id; + if (!projectId) { + return; + } + const getProjectSettingsURL = () => { if (hasGeneralSettingsPermission) { return routes.project.settings.general({ projectId }); diff --git a/src/providers/PermissionsProvider.tsx b/src/providers/PermissionsProvider.tsx index 2ba11675..17d08c24 100644 --- a/src/providers/PermissionsProvider.tsx +++ b/src/providers/PermissionsProvider.tsx @@ -22,7 +22,7 @@ export const PermissionsProvider: React.FC = ({ children }) => { value={{ loading, permissions: - data.currentUserMembership.permissionGroup.permissions.slice() ?? [], + data?.currentUserMembership.permissionGroup.permissions.slice() ?? [], }} > {children} From e553354fb8042d9efa7e2a99ac86aa5df807d404 Mon Sep 17 00:00:00 2001 From: RobertPechaCZ Date: Mon, 26 May 2025 15:36:42 +0200 Subject: [PATCH 4/6] fmt --- .../CreateProject/CreateProject.tsx | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/components/CreateProject/CreateProject.tsx b/src/components/CreateProject/CreateProject.tsx index aef39a89..ea32bc41 100644 --- a/src/components/CreateProject/CreateProject.tsx +++ b/src/components/CreateProject/CreateProject.tsx @@ -1,20 +1,20 @@ -import { createProjectSchema } from "@fleek-platform/utils-validation"; -import { useClient } from "urql"; - -import { constants } from "@/constants"; -import { useCreateProjectMutation } from "@/generated/graphqlClient"; -import { useToast } from "@/hooks/useToast"; -import { useCookies } from "@/providers/CookiesProvider"; -import { useProjectContext } from "@/providers/ProjectProvider"; -import { Button, Dialog, Text } from "@/ui"; -import { useRouter } from "@/hooks/useRouter"; - -import { Form } from "../Form/Form"; -import { LearnMoreMessage } from "../LearnMoreMessage/LearnMoreMessage"; -import { Modal } from "../Modal/Modal"; -import { ProjectField } from "../ProjectField/ProjectField"; -import { useAuthProviders } from "@/hooks/useAuthProviders"; -import { routes } from "@fleek-platform/utils-routes"; +import { createProjectSchema } from '@fleek-platform/utils-validation'; +import { useClient } from 'urql'; + +import { constants } from '@/constants'; +import { useCreateProjectMutation } from '@/generated/graphqlClient'; +import { useToast } from '@/hooks/useToast'; +import { useCookies } from '@/providers/CookiesProvider'; +import { useProjectContext } from '@/providers/ProjectProvider'; +import { Button, Dialog, Text } from '@/ui'; +import { useRouter } from '@/hooks/useRouter'; + +import { Form } from '../Form/Form'; +import { LearnMoreMessage } from '../LearnMoreMessage/LearnMoreMessage'; +import { Modal } from '../Modal/Modal'; +import { ProjectField } from '../ProjectField/ProjectField'; +import { useAuthProviders } from '@/hooks/useAuthProviders'; +import { routes } from '@fleek-platform/utils-routes'; export const CreateProject: React.FC = () => { const { isCreateProjectModalOpen: isModalOpen, setIsCreateProjectModalOpen } = @@ -30,7 +30,7 @@ export const CreateProject: React.FC = () => { const createProjectForm = Form.useForm({ values: { - name: "", + name: '', }, schema: createProjectSchema.shape.data, extraValidations: { @@ -45,7 +45,7 @@ export const CreateProject: React.FC = () => { if (error || !data?.createProject?.id) { throw ( - error || new Error("There was an error creating the new project") + error || new Error('There was an error creating the new project') ); } @@ -53,8 +53,8 @@ export const CreateProject: React.FC = () => { data.createProject.id, ); - cookies.set("accessToken", accessToken); - cookies.set("projectId", data.createProject.id); + cookies.set('accessToken', accessToken); + cookies.set('projectId', data.createProject.id); await router.replace( routes.project.home({ projectId: data.createProject.id }), @@ -77,7 +77,7 @@ export const CreateProject: React.FC = () => { const handleModalChange = (isOpen: boolean): void => { if (!isOpen) { - createProjectForm.resetForm({ name: "" }); + createProjectForm.resetForm({ name: '' }); } setIsCreateProjectModalOpen(isOpen); From a343ccde86a99c978012b9debac2e4cd6a4669e3 Mon Sep 17 00:00:00 2001 From: RobertPechaCZ Date: Mon, 26 May 2025 15:38:17 +0200 Subject: [PATCH 5/6] test hash --- .tests/hash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.tests/hash b/.tests/hash index 293d4efa..2bfec647 100644 --- a/.tests/hash +++ b/.tests/hash @@ -1 +1 @@ -[TEST_RUN] 33a3cdcce970230d9043cbd7018981736982dc60 +[TEST_RUN] 9f201278ea7a0c528aedf957a6814680603b7edf From c48ec7c24a3122abe9914ed20c3f34976248565d Mon Sep 17 00:00:00 2001 From: RobertPechaCZ Date: Mon, 26 May 2025 18:52:16 +0200 Subject: [PATCH 6/6] fix: add changelog --- .changeset/sour-worms-sort.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/sour-worms-sort.md diff --git a/.changeset/sour-worms-sort.md b/.changeset/sour-worms-sort.md new file mode 100644 index 00000000..8241527c --- /dev/null +++ b/.changeset/sour-worms-sort.md @@ -0,0 +1,5 @@ +--- +"@fleek-platform/dashboard": patch +--- + +fix project management issues