diff --git a/apps/studio/app/dashboard/v2/[orgSlug]/[projectRef]/layout.tsx b/apps/studio/app/v2/[orgSlug]/[projectRef]/layout.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/[orgSlug]/[projectRef]/layout.tsx
rename to apps/studio/app/v2/[orgSlug]/[projectRef]/layout.tsx
diff --git a/apps/studio/app/dashboard/v2/[orgSlug]/[projectRef]/page.tsx b/apps/studio/app/v2/[orgSlug]/[projectRef]/page.tsx
similarity index 79%
rename from apps/studio/app/dashboard/v2/[orgSlug]/[projectRef]/page.tsx
rename to apps/studio/app/v2/[orgSlug]/[projectRef]/page.tsx
index 5888a083aea..badefaed740 100644
--- a/apps/studio/app/dashboard/v2/[orgSlug]/[projectRef]/page.tsx
+++ b/apps/studio/app/v2/[orgSlug]/[projectRef]/page.tsx
@@ -6,6 +6,6 @@ export default async function V2OrgProjectPage({
params: Promise<{ projectRef: string }>
}) {
const { projectRef } = await params
- redirect(`/dashboard/v2/project/${projectRef}`)
+ redirect(`/v2/project/${projectRef}`)
}
diff --git a/apps/studio/app/dashboard/v2/org/[orgSlug]/page.tsx b/apps/studio/app/v2/org/[orgSlug]/page.tsx
similarity index 96%
rename from apps/studio/app/dashboard/v2/org/[orgSlug]/page.tsx
rename to apps/studio/app/v2/org/[orgSlug]/page.tsx
index ec05a7b19fb..692f042d225 100644
--- a/apps/studio/app/dashboard/v2/org/[orgSlug]/page.tsx
+++ b/apps/studio/app/v2/org/[orgSlug]/page.tsx
@@ -36,7 +36,7 @@ function OrgDashboardContent() {
{projects.map((proj) => (
{proj.name}
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/ProjectShell.tsx b/apps/studio/app/v2/project/[projectRef]/ProjectShell.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/ProjectShell.tsx
rename to apps/studio/app/v2/project/[projectRef]/ProjectShell.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/buckets/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/buckets/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/buckets/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/buckets/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/channels/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/channels/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/channels/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/channels/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/edge-functions/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/edge-functions/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/edge-functions/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/edge-functions/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/extensions/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/extensions/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/extensions/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/extensions/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/functions/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/functions/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/functions/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/functions/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/indexes/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/indexes/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/indexes/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/indexes/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/oauth-apps/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/oauth-apps/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/oauth-apps/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/oauth-apps/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/providers/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/providers/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/providers/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/providers/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/publications/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/publications/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/publications/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/publications/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/roles/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/roles/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/roles/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/roles/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/tables/[tableId]/data/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/tables/[tableId]/data/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/tables/[tableId]/data/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/tables/[tableId]/data/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/tables/[tableId]/indexes/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/tables/[tableId]/indexes/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/tables/[tableId]/indexes/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/tables/[tableId]/indexes/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/tables/[tableId]/layout.tsx b/apps/studio/app/v2/project/[projectRef]/data/tables/[tableId]/layout.tsx
similarity index 95%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/tables/[tableId]/layout.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/tables/[tableId]/layout.tsx
index 5b0dd2eb5fd..551a7f5ae6a 100644
--- a/apps/studio/app/dashboard/v2/project/[projectRef]/data/tables/[tableId]/layout.tsx
+++ b/apps/studio/app/v2/project/[projectRef]/data/tables/[tableId]/layout.tsx
@@ -21,7 +21,7 @@ export default function TableDetailLayout({ children }: { children: React.ReactN
const { projectRef } = useV2Params()
const tableId = params?.tableId as string
- const base = projectRef ? `/dashboard/v2/project/${projectRef}/data/tables/${tableId}` : ''
+ const base = projectRef ? `/v2/project/${projectRef}/data/tables/${tableId}` : ''
return (
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/tables/[tableId]/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/tables/[tableId]/page.tsx
similarity index 73%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/tables/[tableId]/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/tables/[tableId]/page.tsx
index ad763a45ee7..6050dfa5831 100644
--- a/apps/studio/app/dashboard/v2/project/[projectRef]/data/tables/[tableId]/page.tsx
+++ b/apps/studio/app/v2/project/[projectRef]/data/tables/[tableId]/page.tsx
@@ -6,5 +6,5 @@ export default async function TableDetailPage({
params: Promise<{ projectRef: string; tableId: string }>
}) {
const { projectRef, tableId } = await params
- redirect(`/dashboard/v2/project/${projectRef}/data/tables/${tableId}/data`)
+ redirect(`/v2/project/${projectRef}/data/tables/${tableId}/data`)
}
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/tables/[tableId]/policies/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/tables/[tableId]/policies/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/tables/[tableId]/policies/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/tables/[tableId]/policies/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/tables/[tableId]/schema/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/tables/[tableId]/schema/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/tables/[tableId]/schema/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/tables/[tableId]/schema/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/tables/[tableId]/settings/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/tables/[tableId]/settings/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/tables/[tableId]/settings/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/tables/[tableId]/settings/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/tables/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/tables/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/tables/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/tables/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/types/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/types/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/types/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/types/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/data/users/page.tsx b/apps/studio/app/v2/project/[projectRef]/data/users/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/data/users/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/data/users/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/layout.tsx b/apps/studio/app/v2/project/[projectRef]/layout.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/layout.tsx
rename to apps/studio/app/v2/project/[projectRef]/layout.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/obs/alerts/page.tsx b/apps/studio/app/v2/project/[projectRef]/obs/alerts/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/obs/alerts/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/obs/alerts/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/obs/logs/api/page.tsx b/apps/studio/app/v2/project/[projectRef]/obs/logs/api/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/obs/logs/api/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/obs/logs/api/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/obs/logs/auth/page.tsx b/apps/studio/app/v2/project/[projectRef]/obs/logs/auth/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/obs/logs/auth/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/obs/logs/auth/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/obs/logs/page.tsx b/apps/studio/app/v2/project/[projectRef]/obs/logs/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/obs/logs/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/obs/logs/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/obs/logs/postgres/page.tsx b/apps/studio/app/v2/project/[projectRef]/obs/logs/postgres/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/obs/logs/postgres/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/obs/logs/postgres/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/obs/metrics/connections/page.tsx b/apps/studio/app/v2/project/[projectRef]/obs/metrics/connections/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/obs/metrics/connections/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/obs/metrics/connections/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/obs/metrics/cpu/page.tsx b/apps/studio/app/v2/project/[projectRef]/obs/metrics/cpu/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/obs/metrics/cpu/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/obs/metrics/cpu/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/obs/metrics/disk/page.tsx b/apps/studio/app/v2/project/[projectRef]/obs/metrics/disk/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/obs/metrics/disk/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/obs/metrics/disk/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/obs/metrics/memory/page.tsx b/apps/studio/app/v2/project/[projectRef]/obs/metrics/memory/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/obs/metrics/memory/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/obs/metrics/memory/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/page.tsx b/apps/studio/app/v2/project/[projectRef]/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/settings/api-keys/page.tsx b/apps/studio/app/v2/project/[projectRef]/settings/api-keys/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/settings/api-keys/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/settings/api-keys/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/settings/auth/page.tsx b/apps/studio/app/v2/project/[projectRef]/settings/auth/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/settings/auth/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/settings/auth/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/settings/billing/page.tsx b/apps/studio/app/v2/project/[projectRef]/settings/billing/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/settings/billing/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/settings/billing/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/settings/branches/page.tsx b/apps/studio/app/v2/project/[projectRef]/settings/branches/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/settings/branches/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/settings/branches/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/settings/compute/page.tsx b/apps/studio/app/v2/project/[projectRef]/settings/compute/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/settings/compute/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/settings/compute/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/settings/functions/page.tsx b/apps/studio/app/v2/project/[projectRef]/settings/functions/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/settings/functions/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/settings/functions/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/settings/general/page.tsx b/apps/studio/app/v2/project/[projectRef]/settings/general/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/settings/general/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/settings/general/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/settings/members/page.tsx b/apps/studio/app/v2/project/[projectRef]/settings/members/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/settings/members/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/settings/members/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/settings/merge-requests/page.tsx b/apps/studio/app/v2/project/[projectRef]/settings/merge-requests/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/settings/merge-requests/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/settings/merge-requests/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/settings/network/page.tsx b/apps/studio/app/v2/project/[projectRef]/settings/network/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/settings/network/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/settings/network/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/settings/realtime/page.tsx b/apps/studio/app/v2/project/[projectRef]/settings/realtime/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/settings/realtime/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/settings/realtime/page.tsx
diff --git a/apps/studio/app/dashboard/v2/project/[projectRef]/settings/storage/page.tsx b/apps/studio/app/v2/project/[projectRef]/settings/storage/page.tsx
similarity index 100%
rename from apps/studio/app/dashboard/v2/project/[projectRef]/settings/storage/page.tsx
rename to apps/studio/app/v2/project/[projectRef]/settings/storage/page.tsx
diff --git a/apps/studio/app/v2/project/_/[[...routeSlug]]/page.tsx b/apps/studio/app/v2/project/_/[[...routeSlug]]/page.tsx
new file mode 100644
index 00000000000..b0d1aa89e87
--- /dev/null
+++ b/apps/studio/app/v2/project/_/[[...routeSlug]]/page.tsx
@@ -0,0 +1,138 @@
+'use client'
+
+import { useState } from 'react'
+import { useParams, useRouter } from 'next/navigation'
+import { Building2, ChevronRight, Search } from 'lucide-react'
+
+import { useOrganizationsQuery } from 'data/organizations/organizations-query'
+import { useOrgProjectsInfiniteQuery } from 'data/projects/org-projects-infinite-query'
+import { ShimmeringLoader } from 'ui-patterns/ShimmeringLoader'
+
+/**
+ * Disambiguation page for /v2/project/_/[...routeSlug].
+ *
+ * The literal `_` segment can never collide with a real project ref, so any
+ * link that doesn't yet know the target project (e.g. deep-links from docs or
+ * CLI output) can point here. The user picks a project and is forwarded to
+ * /v2/project/[projectRef]/[...routeSlug] with the same sub-path preserved.
+ */
+export default function V2ProjectDisambiguationPage() {
+ const router = useRouter()
+ const params = useParams()
+ const routeSlug = params?.routeSlug as string[] | undefined
+
+ const subPath = routeSlug?.length ? `/${routeSlug.join('/')}` : '/data/tables'
+
+ const { data: organizations = [], isPending: isLoadingOrgs } = useOrganizationsQuery()
+ const [selectedOrgSlug, setSelectedOrgSlug] = useState(undefined)
+ const activeOrg =
+ organizations.find((o) => o.slug === selectedOrgSlug) ?? organizations[0]
+
+ const [search, setSearch] = useState('')
+
+ const { data: projectsData, isPending: isLoadingProjects } = useOrgProjectsInfiniteQuery(
+ { slug: activeOrg?.slug, limit: 50 },
+ { enabled: Boolean(activeOrg?.slug) }
+ )
+ const allProjects = projectsData?.pages?.flatMap((p) => p.projects) ?? []
+ const projects = search.trim()
+ ? allProjects.filter((p) => p.name.toLowerCase().includes(search.toLowerCase()))
+ : allProjects
+
+ const handleSelectProject = (ref: string) => {
+ router.push(`/v2/project/${ref}${subPath}`)
+ }
+
+ return (
+
+ {/* Header */}
+
+
Select a project
+ {subPath !== '/data/tables' && (
+
+ You'll be taken to {subPath} after selecting.
+
+ )}
+
+
+
+ {/* Org sidebar */}
+
+
+ {/* Project list */}
+
+
+
+
+ setSearch(e.target.value)}
+ className="w-full pl-8 pr-3 py-1.5 text-sm bg-background border border-border rounded-md focus:outline-none focus:ring-1 focus:ring-foreground/30 placeholder:text-muted-foreground"
+ />
+
+
+
+
+ {isLoadingProjects ? (
+
+
+
+
+
+ ) : projects.length === 0 ? (
+
+ {search ? 'No projects match your search.' : 'No projects in this organization.'}
+
+ ) : (
+
+ {projects.map((project) => (
+ -
+
+
+ ))}
+
+ )}
+
+
+
+
+ )
+}
diff --git a/apps/studio/components/interfaces/TableGridEditor/TableGridEditor.tsx b/apps/studio/components/interfaces/TableGridEditor/TableGridEditor.tsx
index a3a816c10b6..d28fb66ade8 100644
--- a/apps/studio/components/interfaces/TableGridEditor/TableGridEditor.tsx
+++ b/apps/studio/components/interfaces/TableGridEditor/TableGridEditor.tsx
@@ -66,7 +66,7 @@ export const TableGridEditor = ({
const onTableCreated = useCallback(
(table: { id: number }) => {
if (variant === 'v2') {
- const base = projectRef ? `/dashboard/v2/project/${projectRef}` : ''
+ const base = projectRef ? `/v2/project/${projectRef}` : ''
router.push(
`${base}/data/tables/${table.id}/data${
!!selectedSchema ? `?schema=${selectedSchema}` : ''
@@ -95,7 +95,7 @@ export const TableGridEditor = ({
tabs.removeTab(tabId)
setLastVisitedTable(undefined)
- const base = projectRef ? `/dashboard/v2/project/${projectRef}` : ''
+ const base = projectRef ? `/v2/project/${projectRef}` : ''
router.push(`${base}/data/tables`)
return
}
@@ -158,7 +158,7 @@ export const TableGridEditor = ({
onClick={() => {
tabs.removeTab(tabId)
setLastVisitedTable(undefined)
- const base = projectRef ? `/dashboard/v2/project/${projectRef}` : ''
+ const base = projectRef ? `/v2/project/${projectRef}` : ''
router.push(`${base}/data/tables`)
}}
>
@@ -172,7 +172,7 @@ export const TableGridEditor = ({
onClick={() => setLastVisitedTable(undefined)}
>
Close tab
@@ -184,7 +184,7 @@ export const TableGridEditor = ({
className="mt-2"
onClick={() => setLastVisitedTable(undefined)}
>
- Head back
+ Head back
)
) : !!tabId ? (
diff --git a/apps/studio/components/v2/ActivityBar.tsx b/apps/studio/components/v2/ActivityBar.tsx
index cde336e7cd9..6d62d020ff9 100644
--- a/apps/studio/components/v2/ActivityBar.tsx
+++ b/apps/studio/components/v2/ActivityBar.tsx
@@ -133,8 +133,8 @@ export function LeftActivityBar() {
const { data: lints } = useProjectLintsQuery({ projectRef })
const hasAdvisorWarnings = (lints?.length ?? 0) > 0
- const base = projectRef ? `/dashboard/v2/project/${projectRef}` : '#'
- const homeBase = projectRef && orgSlug ? `/dashboard/v2/project/${projectRef}` : '#'
+ const base = projectRef ? `/v2/project/${projectRef}` : '#'
+ const homeBase = projectRef && orgSlug ? `/v2/project/${projectRef}` : '#'
return (
void }) {
const { expandedGroups, toggleGroup } = useV2DashboardStore()
const counts = useV2DataCounts(projectRef)
- const base = projectRef ? `/dashboard/v2/project/${projectRef}` : ''
+ const base = projectRef ? `/v2/project/${projectRef}` : ''
const isData = pathname?.includes('/data/')
const isObs = pathname?.includes('/obs/')
const isSettings = pathname?.includes('/settings/')
diff --git a/apps/studio/components/v2/Chooser.tsx b/apps/studio/components/v2/Chooser.tsx
index b8a7d0eb014..e60386ba44f 100644
--- a/apps/studio/components/v2/Chooser.tsx
+++ b/apps/studio/components/v2/Chooser.tsx
@@ -102,7 +102,7 @@ export function Chooser() {
const [search, setSearch] = useState('')
const lowerSearch = search.toLowerCase()
- const base = projectRef ? `/dashboard/v2/project/${projectRef}` : ''
+ const base = projectRef ? `/v2/project/${projectRef}` : ''
const openCategory = (category: string) => {
const domain = CATEGORY_DOMAIN[category] ?? 'db'
diff --git a/apps/studio/components/v2/DataTabBar.tsx b/apps/studio/components/v2/DataTabBar.tsx
index 519a8b33d04..adbe3d9fc94 100644
--- a/apps/studio/components/v2/DataTabBar.tsx
+++ b/apps/studio/components/v2/DataTabBar.tsx
@@ -31,7 +31,7 @@ export function DataTabBar() {
// Don't render the bar at all when there are no detail tabs
if (detailTabs.length === 0) return null
- const chooserPath = projectRef ? `/dashboard/v2/project/${projectRef}/data` : '#'
+ const chooserPath = projectRef ? `/v2/project/${projectRef}/data` : '#'
const handleClose = (tab: DataTab, e: React.MouseEvent) => {
e.preventDefault()
diff --git a/apps/studio/components/v2/HomeView.tsx b/apps/studio/components/v2/HomeView.tsx
index 08fb9abd5d1..d08cf642d90 100644
--- a/apps/studio/components/v2/HomeView.tsx
+++ b/apps/studio/components/v2/HomeView.tsx
@@ -269,19 +269,19 @@ export function HomeView() {
{[
{
title: '+ New table',
- href: projectRef ? `/dashboard/v2/project/${projectRef}/data/tables` : '#',
+ href: projectRef ? `/v2/project/${projectRef}/data/tables` : '#',
},
{
title: '+ New bucket',
- href: projectRef ? `/dashboard/v2/project/${projectRef}/data/buckets` : '#',
+ href: projectRef ? `/v2/project/${projectRef}/data/buckets` : '#',
},
{
title: '+ New function',
- href: projectRef ? `/dashboard/v2/project/${projectRef}/data/edge-functions` : '#',
+ href: projectRef ? `/v2/project/${projectRef}/data/edge-functions` : '#',
},
{
title: '+ Add user',
- href: projectRef ? `/dashboard/v2/project/${projectRef}/data/users` : '#',
+ href: projectRef ? `/v2/project/${projectRef}/data/users` : '#',
},
].map((a) => (