import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; import { useNavigate, useSearch } from "@tanstack/react-router"; import { ProjectPermissionCan } from "@app/components/permissions"; import { PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; import { ROUTE_PATHS } from "@app/const/routes"; import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; import { ProjectPermissionSecretSyncActions } from "@app/context/ProjectPermissionContext/types"; import { IntegrationsListPageTabs } from "@app/types/integrations"; import { FrameworkIntegrationTab, InfrastructureIntegrationTab, NativeIntegrationsTab, SecretSyncsTab } from "./components"; export const IntegrationsListPage = () => { const navigate = useNavigate(); const { currentProject } = useProject(); const { t } = useTranslation(); const { selectedTab } = useSearch({ from: ROUTE_PATHS.SecretManager.IntegrationsListPage.id }); const updateSelectedTab = (tab: string) => { navigate({ to: ROUTE_PATHS.SecretManager.IntegrationsListPage.path, search: { selectedTab: tab as IntegrationsListPageTabs }, params: { projectId: currentProject.id } }); }; return ( <> {t("common.head-title", { title: t("integrations.title") })}
Secret Syncs Native Integrations Framework Integrations Infrastructure Integrations
); };