diff --git a/apiserver/plane/db/models/workspace.py b/apiserver/plane/db/models/workspace.py index 4f592ce8ab9..2c0370a61ad 100644 --- a/apiserver/plane/db/models/workspace.py +++ b/apiserver/plane/db/models/workspace.py @@ -396,6 +396,7 @@ class UserPreferenceKeys(models.TextChoices): ACTIVE_CYCLES = "active_cycles", "Active Cycles" ANALYTICS = "analytics", "Analytics" DRAFTS = "drafts", "Drafts" + YOUR_WORK = "your_work", "Your Work" ARCHIVES = "archives", "Archives" workspace = models.ForeignKey( diff --git a/packages/constants/src/workspace.ts b/packages/constants/src/workspace.ts index b2f8b9d189a..d1389759c34 100644 --- a/packages/constants/src/workspace.ts +++ b/packages/constants/src/workspace.ts @@ -259,6 +259,12 @@ export interface IWorkspaceSidebarNavigationItem { } export const WORKSPACE_SIDEBAR_DYNAMIC_NAVIGATION_ITEMS: Record = { + "your-work": { + key: "your_work", + labelTranslationKey: "your_work", + href: `/profile/`, + access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER], + }, views: { key: "views", labelTranslationKey: "views", @@ -287,6 +293,7 @@ export const WORKSPACE_SIDEBAR_DYNAMIC_NAVIGATION_ITEMS: Record = ({ className = "text-current", ...rest }) => ( - + diff --git a/web/app/[workspaceSlug]/(projects)/extended-project-sidebar.tsx b/web/app/[workspaceSlug]/(projects)/extended-project-sidebar.tsx index d8a6b791bab..66baa1eb9f0 100644 --- a/web/app/[workspaceSlug]/(projects)/extended-project-sidebar.tsx +++ b/web/app/[workspaceSlug]/(projects)/extended-project-sidebar.tsx @@ -14,6 +14,7 @@ import { CreateProjectModal } from "@/components/project"; import { SidebarProjectsListItem } from "@/components/workspace"; // hooks import { orderJoinedProjects } from "@/helpers/project.helper"; +import { copyUrlToClipboard } from "@/helpers/string.helper"; import { useAppTheme, useProject, useUserPermissions } from "@/hooks/store"; import useExtendedSidebarOutsideClickDetector from "@/hooks/use-extended-sidebar-overview-outside-click"; import { TProject } from "@/plane-web/types"; @@ -85,6 +86,15 @@ export const ExtendedProjectSidebar = observer(() => { "extended-project-sidebar-toggle" ); + const handleCopyText = (projectId: string) => { + copyUrlToClipboard(`${workspaceSlug}/projects/${projectId}/issues`).then(() => { + setToast({ + type: TOAST_TYPE.SUCCESS, + title: t("link_copied"), + message: t("project_link_copied_to_clipboard"), + }); + }); + }; return ( <> {workspaceSlug && ( @@ -140,7 +150,7 @@ export const ExtendedProjectSidebar = observer(() => { {}} + handleCopyText={() => handleCopyText(projectId)} projectListType={"JOINED"} disableDrag={false} disableDrop={false} diff --git a/web/app/[workspaceSlug]/(projects)/extended-sidebar.tsx b/web/app/[workspaceSlug]/(projects)/extended-sidebar.tsx index e88fa33bbc9..ab81d56034e 100644 --- a/web/app/[workspaceSlug]/(projects)/extended-sidebar.tsx +++ b/web/app/[workspaceSlug]/(projects)/extended-sidebar.tsx @@ -104,7 +104,7 @@ export const ExtendedAppSidebar = observer(() => {
{ })} > -
+ {sidebarCollapsed && ( +
+ )} {/* Favorites Menu */} {canPerformWorkspaceMemberActions && !isFavoriteEmpty && } {/* Teams List */} diff --git a/web/ce/components/workspace/sidebar/extended-sidebar-item.tsx b/web/ce/components/workspace/sidebar/extended-sidebar-item.tsx index 663776eb4c6..22cfe084217 100644 --- a/web/ce/components/workspace/sidebar/extended-sidebar-item.tsx +++ b/web/ce/components/workspace/sidebar/extended-sidebar-item.tsx @@ -169,7 +169,7 @@ export const ExtendedSidebarItem: FC = observer((prop +
- - - ); });