diff --git a/frontend/src/components/organization/CreateOrgModal/CreateOrgModal.tsx b/frontend/src/components/organization/CreateOrgModal/CreateOrgModal.tsx index 4c847b03562..e36a42df93e 100644 --- a/frontend/src/components/organization/CreateOrgModal/CreateOrgModal.tsx +++ b/frontend/src/components/organization/CreateOrgModal/CreateOrgModal.tsx @@ -17,7 +17,7 @@ import { FieldLabel, Input } from "@app/components/v3"; -import { useCreateOrg, useSelectOrganization } from "@app/hooks/api"; +import { useCreateOrg, useLogoutUser, useSelectOrganization } from "@app/hooks/api"; import { GenericResourceNameSchema } from "@app/lib/schemas"; const schema = z @@ -31,9 +31,10 @@ export type FormData = z.infer; interface CreateOrgModalProps { isOpen: boolean; onClose?: () => void; + logoutOnClose?: boolean; } -export const CreateOrgModal: FC = ({ isOpen, onClose }) => { +export const CreateOrgModal: FC = ({ isOpen, onClose, logoutOnClose }) => { const navigate = useNavigate(); const { @@ -52,6 +53,7 @@ export const CreateOrgModal: FC = ({ isOpen, onClose }) => invalidate: false }); const { mutateAsync: selectOrg } = useSelectOrganization(); + const logout = useLogoutUser(); const onFormSubmit = async ({ name }: FormData) => { const organization = await createOrg({ name }); @@ -74,16 +76,20 @@ export const CreateOrgModal: FC = ({ isOpen, onClose }) => onClose?.(); }; + const handleOpenChange = async (open: boolean) => { + if (!open) { + reset(); + if (logoutOnClose) { + await logout.mutateAsync(); + navigate({ to: "/login" }); + } else { + onClose?.(); + } + } + }; + return ( - { - if (!open) { - reset(); - onClose?.(); - } - }} - > + Create Organization diff --git a/frontend/src/pages/organization/NoOrgPage/NoOrgPage.tsx b/frontend/src/pages/organization/NoOrgPage/NoOrgPage.tsx index 9568a0f153a..eff5c6354e5 100644 --- a/frontend/src/pages/organization/NoOrgPage/NoOrgPage.tsx +++ b/frontend/src/pages/organization/NoOrgPage/NoOrgPage.tsx @@ -13,7 +13,7 @@ export const NoOrgPage = () => {
- +
);