From 23b0d4339d821b08cef32774dda02f560d7b3100 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com> Date: Tue, 18 Feb 2025 20:49:17 +0530 Subject: [PATCH] [WEB-3422] fix: app sidebar fixes and improvements (#6633) * chore: app sidebar improvements * chore: overview icon updated --- apiserver/plane/db/models/workspace.py | 1 + packages/constants/src/workspace.ts | 20 ++++++++-------- packages/ui/src/icons/overview-icon.tsx | 4 ++-- .../(projects)/extended-project-sidebar.tsx | 12 +++++++++- .../(projects)/extended-sidebar.tsx | 2 +- .../[workspaceSlug]/(projects)/sidebar.tsx | 8 +++---- .../sidebar/extended-sidebar-item.tsx | 6 ++--- .../components/workspace/sidebar/helper.tsx | 2 +- .../workspace/sidebar/sidebar-item.tsx | 3 +-- .../sidebar/favorites/favorites-menu.tsx | 8 +++---- .../workspace/sidebar/projects-list-item.tsx | 2 +- .../workspace/sidebar/sidebar-menu-items.tsx | 24 +++++++++---------- 12 files changed, 49 insertions(+), 43 deletions(-) diff --git a/apiserver/plane/db/models/workspace.py b/apiserver/plane/db/models/workspace.py index 4f592ce8a..2c0370a61 100644 --- a/apiserver/plane/db/models/workspace.py +++ b/apiserver/plane/db/models/workspace.py @@ -396,6 +396,7 @@ class WorkspaceUserPreference(BaseModel): 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 b2f8b9d18..d1389759c 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 d8a6b791b..66baa1eb9 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 e88fa33bb..ab81d5603 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 663776eb4..22cfe0842 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 +
- - - ); });