mirror of
https://github.com/supabase/supabase.git
synced 2026-09-11 04:21:47 +08:00
**Stack 5.2/6** of the TanStack Start migration (#46424) — second half of the project routes (S5 was split for CodeRabbit's 150-file cap). Stacked on **#47117** (5.1). > [!NOTE] > Same shape as 5.1 — thin route wrappers over the existing pages-router components. With this PR every route is present, so `routeTree.gen.ts` is now **byte-identical to the migration branch**. ## What's in this PR - **Remaining project routes:** auth, logs, settings, observability, functions, advisors, project-level integrations. - **Supporting edits:** hoist `EdgeFunctionsIndexPageWrapper` out of `getLayout`, `functions/secrets`, and move `DefaultLayout` to the root for the logs page. - `routeTree.gen.ts` regenerated for the full set. ## Verification On top of S1–5.1: `studio` typecheck ✓, lint (0 errors) ✓, **Next build ✓ (181/181 pages)**. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Refactor** * Reorganized internal routing and page structure to improve navigation and maintainability across project settings, logs, functions, authentication, integrations, and observability sections. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Alaister Young <10985857+alaister@users.noreply.github.com> Co-authored-by: Ivan Vasilov <vasilov.ivan@gmail.com>
28 lines
898 B
TypeScript
28 lines
898 B
TypeScript
import { createFileRoute, Outlet, useMatches } from '@tanstack/react-router'
|
|
|
|
import EdgeFunctionDetailsLayout from '@/components/layouts/EdgeFunctionsLayout/EdgeFunctionDetailsLayout'
|
|
|
|
export const Route = createFileRoute('/project/$ref/functions/$functionSlug')({
|
|
component: FunctionDetailsShell,
|
|
// EdgeFunctionDetailsLayout already wraps <EdgeFunctionsLayout>
|
|
// internally. Tell the parent functions.tsx shell to skip its own
|
|
// EdgeFunctionsLayout wrap so we don't double-wrap.
|
|
staticData: {
|
|
skipFunctionsLayout: true,
|
|
},
|
|
})
|
|
|
|
function FunctionDetailsShell() {
|
|
const title = useMatches({
|
|
select: (matches) =>
|
|
(matches[matches.length - 1]?.staticData as { edgeFunctionDetailsTitle?: string } | undefined)
|
|
?.edgeFunctionDetailsTitle ?? '',
|
|
})
|
|
|
|
return (
|
|
<EdgeFunctionDetailsLayout title={title}>
|
|
<Outlet />
|
|
</EdgeFunctionDetailsLayout>
|
|
)
|
|
}
|