Files
infisical/frontend/src/pages/secret-manager/integrations/NetlifyOauthCallbackPage/route.tsx
T

40 lines
1.2 KiB
TypeScript

import { createFileRoute, linkOptions } from '@tanstack/react-router'
import { zodValidator } from '@tanstack/zod-adapter'
import { z } from 'zod'
import { IntegrationsListPageTabs } from '@app/types/integrations'
import { NetlifyOauthCallbackPage } from './NetlifyOauthCallbackPage'
export const NetlifyOAuthCallbackPageQueryParamsSchema = z.object({
state: z.string().catch(''),
code: z.coerce.string().catch(''),
})
export const Route = createFileRoute(
'/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/secret-manager/_secret-manager-layout/integrations/netlify/oauth2/callback',
)({
component: NetlifyOauthCallbackPage,
validateSearch: zodValidator(NetlifyOAuthCallbackPageQueryParamsSchema),
beforeLoad: ({ context, params }) => {
return {
breadcrumbs: [
...context.breadcrumbs,
{
label: 'Integrations',
link: linkOptions({
to: '/secret-manager/$projectId/integrations',
params,
search: {
selectedTab: IntegrationsListPageTabs.NativeIntegrations,
},
}),
},
{
label: 'Netlify',
},
],
}
},
})