diff --git a/apps/start/src/components/project-selector.tsx b/apps/start/src/components/project-selector.tsx
index 89fed538e..f0e72fdc7 100644
--- a/apps/start/src/components/project-selector.tsx
+++ b/apps/start/src/components/project-selector.tsx
@@ -151,7 +151,10 @@ export default function ProjectSelector({
))}
-
+
New organization
diff --git a/apps/start/src/routes/_steps.onboarding.project.tsx b/apps/start/src/routes/_steps.onboarding.project.tsx
index a6e616259..ea424f209 100644
--- a/apps/start/src/routes/_steps.onboarding.project.tsx
+++ b/apps/start/src/routes/_steps.onboarding.project.tsx
@@ -30,6 +30,9 @@ import { cn } from '@/utils/cn';
const validateSearch = z.object({
inviteId: z.string().optional(),
+ createNewOrg: z
+ .preprocess((value) => value === true || value === 'true', z.boolean())
+ .optional(),
});
export const Route = createFileRoute('/_steps/onboarding/project')({
component: Component,
@@ -63,6 +66,7 @@ export const Route = createFileRoute('/_steps/onboarding/project')({
type IForm = z.infer;
function Component() {
+ const search = Route.useSearch();
const trpc = useTRPC();
const queryClient = useQueryClient();
const { data: organizations } = useQuery(
@@ -121,7 +125,9 @@ function Component() {
});
const [showCorsInput, setShowCorsInput] = useState(false);
- const [createNewOrg, setCreateNewOrg] = useState(false);
+ const [createNewOrg, setCreateNewOrg] = useState(
+ () => search.createNewOrg ?? false
+ );
const canUseExistingWorkspace = organizations.length > 0;
const showCreateForm = createNewOrg || organizations.length === 0;