diff --git a/apiserver/plane/db/models/workspace.py b/apiserver/plane/db/models/workspace.py index 2c0370a61ad..4f592ce8ab9 100644 --- a/apiserver/plane/db/models/workspace.py +++ b/apiserver/plane/db/models/workspace.py @@ -396,7 +396,6 @@ 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 5466a7fb818..b2f8b9d189a 100644 --- a/packages/constants/src/workspace.ts +++ b/packages/constants/src/workspace.ts @@ -259,24 +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", href: `/workspace-views/all-issues/`, access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER, EUserWorkspaceRoles.GUEST], }, - "active-cycles": { - key: "active_cycles", - labelTranslationKey: "cycles", - href: `/active-cycles/`, - access: [EUserWorkspaceRoles.ADMIN, EUserWorkspaceRoles.MEMBER], - }, analytics: { key: "analytics", labelTranslationKey: "analytics", @@ -298,9 +286,7 @@ export const WORKSPACE_SIDEBAR_DYNAMIC_NAVIGATION_ITEMS: Record {
{ } )} > -
+
Projects {isAuthorizedUser && ( @@ -135,7 +135,7 @@ export const ExtendedProjectSidebar = observer(() => { />
-
+
{filteredProjects.map((projectId, index) => ( { disableDrop={false} isLastChild={index === joinedProjects.length - 1} handleOnProjectDrop={handleOnProjectDrop} + renderInExtendedSidebar /> ))}
diff --git a/web/app/[workspaceSlug]/(projects)/extended-sidebar.tsx b/web/app/[workspaceSlug]/(projects)/extended-sidebar.tsx index 09bca6af34a..e88fa33bbc9 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(() => {
= (props) => { - const { workspaceSlug, projectId } = props; - return ; + const { workspaceSlug, projectId, isSidebarCollapsed } = props; + return ( + + ); }; diff --git a/web/ce/components/workspace/sidebar/sidebar-item.tsx b/web/ce/components/workspace/sidebar/sidebar-item.tsx index 99b535972b9..9b5d56e617e 100644 --- a/web/ce/components/workspace/sidebar/sidebar-item.tsx +++ b/web/ce/components/workspace/sidebar/sidebar-item.tsx @@ -42,7 +42,7 @@ export const SidebarItem: FC = observer((props) => { if (extendedSidebarCollapsed) toggleExtendedSidebar(); }; - const staticItems = ["home", "notifications", "pi-chat", "projects"]; + const staticItems = ["home", "your-work", "notifications", "pi-chat", "projects"]; if (!allowPermissions(item.access as any, EUserPermissionsLevel.WORKSPACE, workspaceSlug.toString())) { return null; @@ -79,11 +79,6 @@ export const SidebarItem: FC = observer((props) => { {icon} {!sidebarCollapsed &&

{t(item.labelTranslationKey)}

}
- {!sidebarCollapsed && item.key === "active_cycles" && ( -
- -
- )} diff --git a/web/core/components/workspace/sidebar/project-navigation.tsx b/web/core/components/workspace/sidebar/project-navigation.tsx index 0d500a8a090..3c73a7e03c5 100644 --- a/web/core/components/workspace/sidebar/project-navigation.tsx +++ b/web/core/components/workspace/sidebar/project-navigation.tsx @@ -30,13 +30,14 @@ type TProjectItemsProps = { workspaceSlug: string; projectId: string; additionalNavigationItems?: (workspaceSlug: string, projectId: string) => TNavigationItem[]; + isSidebarCollapsed: boolean; }; export const ProjectNavigation: FC = observer((props) => { - const { workspaceSlug, projectId, additionalNavigationItems } = props; + const { workspaceSlug, projectId, additionalNavigationItems, isSidebarCollapsed } = props; // store hooks const { t } = useTranslation(); - const { sidebarCollapsed: isSidebarCollapsed, toggleSidebar } = useAppTheme(); + const { toggleSidebar } = useAppTheme(); const { getPartialProjectById } = useProject(); const { isMobile } = usePlatformOS(); const { allowPermissions } = useUserPermissions(); diff --git a/web/core/components/workspace/sidebar/projects-list-item.tsx b/web/core/components/workspace/sidebar/projects-list-item.tsx index ed0259d1c06..3c245a62a17 100644 --- a/web/core/components/workspace/sidebar/projects-list-item.tsx +++ b/web/core/components/workspace/sidebar/projects-list-item.tsx @@ -43,13 +43,22 @@ type Props = { disableDrag?: boolean; disableDrop?: boolean; isLastChild: boolean; + renderInExtendedSidebar?: boolean; }; export const SidebarProjectsListItem: React.FC = observer((props) => { - const { projectId, handleCopyText, disableDrag, disableDrop, isLastChild, handleOnProjectDrop, projectListType } = - props; + const { + projectId, + handleCopyText, + disableDrag, + disableDrop, + isLastChild, + handleOnProjectDrop, + projectListType, + renderInExtendedSidebar = false, + } = props; // store hooks - const { sidebarCollapsed: isSidebarCollapsed } = useAppTheme(); + const { sidebarCollapsed } = useAppTheme(); const { t } = useTranslation(); const { setTrackElement } = useEventTracker(); const { getPartialProjectById } = useProject(); @@ -89,6 +98,8 @@ export const SidebarProjectsListItem: React.FC = observer((props) => { setLeaveProjectModal(true); }; + const isSidebarCollapsed = sidebarCollapsed && !renderInExtendedSidebar; + useEffect(() => { const element = projectRef.current; const dragHandleElement = dragHandleRef.current; @@ -390,7 +401,11 @@ export const SidebarProjectsListItem: React.FC = observer((props) => { > {isProjectListOpen && ( - + )} diff --git a/web/core/components/workspace/sidebar/projects-list.tsx b/web/core/components/workspace/sidebar/projects-list.tsx index 5ff345bc801..27ae15aace0 100644 --- a/web/core/components/workspace/sidebar/projects-list.tsx +++ b/web/core/components/workspace/sidebar/projects-list.tsx @@ -243,18 +243,39 @@ export const SidebarProjectsList: FC = observer(() => { })} static > - {joinedProjects.slice(0, 7).map((projectId, index) => ( - handleCopyText(projectId)} - projectListType={"JOINED"} - disableDrag={false} - disableDrop={false} - isLastChild={index === joinedProjects.length - 1} - handleOnProjectDrop={handleOnProjectDrop} - /> - ))} + <> + {joinedProjects.slice(0, 7).map((projectId, index) => ( + handleCopyText(projectId)} + projectListType={"JOINED"} + disableDrag={false} + disableDrop={false} + isLastChild={index === joinedProjects.length - 1} + handleOnProjectDrop={handleOnProjectDrop} + /> + ))} + {joinedProjects.length > 7 && ( + + + + )} + )} @@ -278,21 +299,6 @@ export const SidebarProjectsList: FC = observer(() => { {!isCollapsed && t("add_project")} )} - - {joinedProjects.length > 7 && ( - - - - )}
);