feat: added project layout and project select in breadcrumb

This commit is contained in:
=
2025-07-02 01:16:48 +05:30
parent e028b4e26d
commit 09cdd5ec91
165 changed files with 6253 additions and 5600 deletions
@@ -1,26 +1,30 @@
import { createFileRoute, linkOptions, stripSearchParams } from "@tanstack/react-router";
import { zodValidator } from "@tanstack/zod-adapter";
import { z } from "zod";
import {
createFileRoute,
linkOptions,
stripSearchParams,
} from '@tanstack/react-router'
import { zodValidator } from '@tanstack/zod-adapter'
import { z } from 'zod'
import { SecretDashboardPathBreadcrumb } from "@app/components/navigation/SecretDashboardPathBreadcrumb";
import { BreadcrumbTypes } from "@app/components/v2";
import { SecretDashboardPathBreadcrumb } from '@app/components/navigation/SecretDashboardPathBreadcrumb'
import { BreadcrumbTypes } from '@app/components/v2'
import { CommitDetailsPage } from "./CommitDetailsPage";
import { CommitDetailsPage } from './CommitDetailsPage'
const CommitDetailsPageQueryParamsSchema = z.object({
secretPath: z.string().catch("/")
});
secretPath: z.string().catch('/'),
})
export const Route = createFileRoute(
"/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_secret-manager-layout/commits/$environment/$folderId/$commitId/"
'/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/secret-manager/_secret-manager-layout/commits/$environment/$folderId/$commitId/',
)({
component: CommitDetailsPage,
validateSearch: zodValidator(CommitDetailsPageQueryParamsSchema),
search: {
middlewares: [stripSearchParams({ secretPath: "/" })]
middlewares: [stripSearchParams({ secretPath: '/' })],
},
beforeLoad: ({ context, params, search }) => {
const secretPathSegments = search.secretPath.split("/").filter(Boolean);
const secretPathSegments = search.secretPath.split('/').filter(Boolean)
return {
breadcrumbs: [
@@ -28,18 +32,20 @@ export const Route = createFileRoute(
{
type: BreadcrumbTypes.Dropdown,
label:
context.project.environments.find((el) => el.slug === params.environment)?.name || "",
dropdownTitle: "Environments",
context.project.environments.find(
(el) => el.slug === params.environment,
)?.name || '',
dropdownTitle: 'Environments',
links: context.project.environments.map((el) => ({
label: el.name,
link: linkOptions({
to: "/secret-manager/$projectId/secrets/$envSlug",
to: '/secret-manager/$projectId/secrets/$envSlug',
params: {
projectId: params.projectId,
envSlug: el.slug
}
})
}))
envSlug: el.slug,
},
}),
})),
},
...secretPathSegments.map((_, index) => ({
type: BreadcrumbTypes.Component,
@@ -51,26 +57,26 @@ export const Route = createFileRoute(
projectId={params.projectId}
disableCopy
/>
)
),
})),
{
label: "Commits",
label: 'Commits',
link: linkOptions({
to: "/secret-manager/$projectId/commits/$environment/$folderId",
to: '/secret-manager/$projectId/commits/$environment/$folderId',
params: {
projectId: params.projectId,
environment: params.environment,
folderId: params.folderId
folderId: params.folderId,
},
search: {
secretPath: search.secretPath
}
})
secretPath: search.secretPath,
},
}),
},
{
label: params.commitId
}
]
};
}
});
label: params.commitId,
},
],
}
},
})