diff --git a/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/DeploymentCTA.tsx b/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/DeploymentCTA.tsx index 2d83e5b7..35fcb78a 100644 --- a/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/DeploymentCTA.tsx +++ b/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/DeploymentCTA.tsx @@ -2,7 +2,6 @@ import React from "react"; import { usePathname } from "next/navigation"; -import { IconPlus, IconRocket } from "@tabler/icons-react"; import { Button } from "@ctrlplane/ui/button"; @@ -20,8 +19,7 @@ export const DeploymentCTA: React.FC<{ if (tab === "variables") return ( - @@ -30,8 +28,7 @@ export const DeploymentCTA: React.FC<{ if (tab === "releases") return ( - @@ -40,8 +37,7 @@ export const DeploymentCTA: React.FC<{ if (tab === "channels") return ( - diff --git a/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/channels/page.tsx b/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/channels/page.tsx index f0173eaf..d7a20870 100644 --- a/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/channels/page.tsx +++ b/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/channels/page.tsx @@ -1,19 +1,6 @@ -import Link from "next/link"; import { notFound } from "next/navigation"; -import { IconArrowLeft } from "@tabler/icons-react"; -import { - Breadcrumb, - BreadcrumbItem, - BreadcrumbList, - BreadcrumbPage, -} from "@ctrlplane/ui/breadcrumb"; -import { Button } from "@ctrlplane/ui/button"; -import { Separator } from "@ctrlplane/ui/separator"; - -import { PageHeader } from "~/app/[workspaceSlug]/(appv2)/_components/PageHeader"; import { api } from "~/trpc/server"; -import { CreateReleaseChannelDialog } from "./CreateReleaseChannelDialog"; import { ReleaseChannelsTable } from "./ReleaseChannelsTable"; export default async function ReleaseChannelsPage(props: { @@ -37,32 +24,5 @@ export default async function ReleaseChannelsPage(props: { const releaseChannels = await api.deployment.releaseChannel.list.byDeploymentId(deployment.id); - return ( -
- -
- - - - - - - - Channels - - - -
- - - - -
- -
- ); + return ; } diff --git a/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/layout.tsx b/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/layout.tsx index d05bf1c4..10e607cd 100644 --- a/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/layout.tsx +++ b/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/layout.tsx @@ -1,5 +1,15 @@ +import Link from "next/link"; import { notFound } from "next/navigation"; +import { IconArrowLeft } from "@tabler/icons-react"; +import { + Breadcrumb, + BreadcrumbItem, + BreadcrumbList, + BreadcrumbPage, + BreadcrumbSeparator, +} from "@ctrlplane/ui/breadcrumb"; +import { Separator } from "@ctrlplane/ui/separator"; import { Sidebar, SidebarContent, @@ -12,6 +22,8 @@ import { import { SidebarLink } from "~/app/[workspaceSlug]/(appv2)/resources/(sidebar)/SidebarLink"; import { Sidebars } from "~/app/[workspaceSlug]/sidebars"; import { api } from "~/trpc/server"; +import { PageHeader } from "../../../../../../_components/PageHeader"; +import { DeploymentCTA } from "./DeploymentCTA"; export default async function DeploymentLayout(props: { children: React.ReactNode; @@ -29,29 +41,52 @@ export default async function DeploymentLayout(props: { const url = (tab: string) => `/${params.workspaceSlug}/systems/${params.systemSlug}/deployments/${params.deploymentSlug}/${tab}`; return ( - - + +
+ + + + + + + Deployments + + + {deployment.name} + + + +
+ + +
+ - - - - Properties - Workflow - Releases - Channels - Variables - - - -
- - {props.children} - -
+ + + + + Properties + Workflow + Releases + Channels + Variables + + + + + + {props.children} + + + ); } diff --git a/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/properties/page.tsx b/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/properties/page.tsx index 0a4b3e67..ee893e64 100644 --- a/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/properties/page.tsx +++ b/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/properties/page.tsx @@ -4,26 +4,16 @@ import type { ResourceCondition, } from "@ctrlplane/validators/resources"; import React from "react"; -import Link from "next/link"; import { notFound } from "next/navigation"; -import { IconArrowLeft } from "@tabler/icons-react"; import LZString from "lz-string"; import { isPresent } from "ts-is-present"; -import { - Breadcrumb, - BreadcrumbItem, - BreadcrumbList, - BreadcrumbPage, -} from "@ctrlplane/ui/breadcrumb"; import { Card } from "@ctrlplane/ui/card"; -import { Separator } from "@ctrlplane/ui/separator"; import { ResourceFilterType, ResourceOperator, } from "@ctrlplane/validators/resources"; -import { PageHeader } from "~/app/[workspaceSlug]/(appv2)/_components/PageHeader"; import { api } from "~/trpc/server"; import { VariableTable } from "../variables/VariableTable"; import { EditDeploymentSection } from "./EditDeploymentSection"; @@ -165,42 +155,23 @@ export default async function DeploymentPage(props: { if (deployment == null) return notFound(); return ( -
- -
- - - - - - - - Properties - - - -
-
-
-
-
- Properties - Job Agent - Variables -
-
-
- - - +
+
+
+ Properties + Job Agent + Variables
+
+ + + +
); } diff --git a/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/releases/page.tsx b/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/releases/page.tsx index 339e2a8e..fefb3f05 100644 --- a/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/releases/page.tsx +++ b/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/releases/page.tsx @@ -1,22 +1,9 @@ "use server"; import type { Metadata } from "next"; -import Link from "next/link"; import { notFound } from "next/navigation"; -import { IconArrowLeft } from "@tabler/icons-react"; -import { - Breadcrumb, - BreadcrumbItem, - BreadcrumbList, - BreadcrumbPage, -} from "@ctrlplane/ui/breadcrumb"; -import { Button } from "@ctrlplane/ui/button"; -import { Separator } from "@ctrlplane/ui/separator"; - -import { PageHeader } from "~/app/[workspaceSlug]/(appv2)/_components/PageHeader"; import { api } from "~/trpc/server"; -import { CreateReleaseDialog } from "./CreateRelease"; import { DeploymentPageContent } from "./DeploymentPageContent"; type PageProps = { @@ -51,35 +38,10 @@ export default async function DeploymentPage(props: PageProps) { ) : null; return ( -
- -
- - - - - - - - Releases - - - -
- - - - -
- -
+ ); } diff --git a/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/variables/page.tsx b/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/variables/page.tsx index f09f6f05..71b8b0f4 100644 --- a/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/variables/page.tsx +++ b/apps/webservice/src/app/[workspaceSlug]/(appv2)/systems/[systemSlug]/(raw)/deployments/[deploymentSlug]/(sidebar)/variables/page.tsx @@ -2,28 +2,16 @@ import type { ComparisonCondition, ResourceCondition, } from "@ctrlplane/validators/resources"; -import Link from "next/link"; import { notFound } from "next/navigation"; -import { IconArrowLeft } from "@tabler/icons-react"; import LZString from "lz-string"; import { isPresent } from "ts-is-present"; -import { - Breadcrumb, - BreadcrumbItem, - BreadcrumbList, - BreadcrumbPage, -} from "@ctrlplane/ui/breadcrumb"; -import { Button } from "@ctrlplane/ui/button"; -import { Separator } from "@ctrlplane/ui/separator"; import { ResourceFilterType, ResourceOperator, } from "@ctrlplane/validators/resources"; -import { PageHeader } from "~/app/[workspaceSlug]/(appv2)/_components/PageHeader"; import { api } from "~/trpc/server"; -import { CreateVariableDialog } from "./CreateVariableDialog"; import { VariableTable } from "./VariableTable"; export default async function VariablesPage(props: { @@ -134,34 +122,9 @@ export default async function VariablesPage(props: { const variables = await Promise.all(variablesPromises); return ( -
- -
- - - - - - - - Variables - - - -
- - - - -
-
-
- -
+
+
+
);