Aaron Heckmann 2025-05-23 03:42:04 -07:00 committed by GitHub
parent a3b9152a9b
commit f8ca1e46b1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
142 changed files with 92 additions and 16 deletions

View file

@ -0,0 +1,31 @@
"use client";
import { observer } from "mobx-react";
import { useTranslation } from "@plane/i18n";
// ui
import { Breadcrumbs, ContrastIcon, Header } from "@plane/ui";
// components
import { BreadcrumbLink } from "@/components/common";
// plane web components
import { UpgradeBadge } from "@/plane-web/components/workspace";
export const WorkspaceActiveCycleHeader = observer(() => {
const { t } = useTranslation();
return (
<Header>
<Header.LeftItem>
<Breadcrumbs>
<Breadcrumbs.BreadcrumbItem
type="text"
link={
<BreadcrumbLink
label={t("active_cycles")}
icon={<ContrastIcon className="h-4 w-4 text-custom-text-300 rotate-180" />}
/>
}
/>
</Breadcrumbs>
<UpgradeBadge size="md" />
</Header.LeftItem>
</Header>
);
});

View file

@ -0,0 +1,13 @@
"use client";
import { AppHeader, ContentWrapper } from "@/components/core";
import { WorkspaceActiveCycleHeader } from "./header";
export default function WorkspaceActiveCycleLayout({ children }: { children: React.ReactNode }) {
return (
<>
<AppHeader header={<WorkspaceActiveCycleHeader />} />
<ContentWrapper>{children}</ContentWrapper>
</>
);
}

View file

@ -0,0 +1,24 @@
"use client";
import { observer } from "mobx-react";
// components
import { PageHead } from "@/components/core";
// hooks
import { useWorkspace } from "@/hooks/store";
// plane web components
import { WorkspaceActiveCyclesRoot } from "@/plane-web/components/active-cycles";
const WorkspaceActiveCyclesPage = observer(() => {
const { currentWorkspace } = useWorkspace();
// derived values
const pageTitle = currentWorkspace?.name ? `${currentWorkspace?.name} - Active Cycles` : undefined;
return (
<>
<PageHead title={pageTitle} />
<WorkspaceActiveCyclesRoot />
</>
);
});
export default WorkspaceActiveCyclesPage;