From 49c32fccf15275f48efe8fcc3fa087218a3bdaf0 Mon Sep 17 00:00:00 2001 From: DCCONSTRUCTIONS Date: Wed, 22 Apr 2026 22:37:26 +0300 Subject: [PATCH] =?UTF-8?q?UI=20-=20=D0=9C=D0=95=D0=96=D0=9F=D0=A0=D0=9E?= =?UTF-8?q?=D0=95=D0=9A=D0=A2=D0=9D=D0=90=D0=AF=20=D0=9A=D0=9E=D0=9C=D0=9C?= =?UTF-8?q?=D0=A3=D0=9D=D0=98=D0=9A=D0=90=D0=A6=D0=98=D0=AF:=20CTA=20?= =?UTF-8?q?=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=D0=B8=D1=8F=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=B5=D0=BA=D1=82=D0=B0=20=D0=B8=20=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=BA=D0=B0=20project-menu=20=D0=B8=20?= =?UTF-8?q?cover-header?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../(projects)/project-shell-top-toolbar.tsx | 13 +++ .../apps/web/core/components/project/form.tsx | 90 ++++++++-------- .../workspace/sidebar/projects-list-item.tsx | 100 ++++++++++-------- 3 files changed, 115 insertions(+), 88 deletions(-) diff --git a/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/project-shell-top-toolbar.tsx b/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/project-shell-top-toolbar.tsx index 8b7513d..84eb506 100644 --- a/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/project-shell-top-toolbar.tsx +++ b/plane-src/apps/web/app/(all)/[workspaceSlug]/(projects)/project-shell-top-toolbar.tsx @@ -96,6 +96,7 @@ const ProjectsToolbarMenu = observer(function ProjectsToolbarMenu() { const pathname = usePathname(); const { workspaceSlug } = useParams(); const { joinedProjectIds } = useProject(); + const { toggleCreateProjectModal } = useCommandPalette(); const handleCopyText = (projectId: string) => copyUrlToClipboard(`${workspaceSlug}/projects/${projectId}/issues`).then(() => { @@ -139,6 +140,18 @@ const ProjectsToolbarMenu = observer(function ProjectsToolbarMenu() { /> ))} +
+ + + +
diff --git a/plane-src/apps/web/core/components/project/form.tsx b/plane-src/apps/web/core/components/project/form.tsx index 9d39519..10b4626 100644 --- a/plane-src/apps/web/core/components/project/form.tsx +++ b/plane-src/apps/web/core/components/project/form.tsx @@ -197,52 +197,54 @@ export function ProjectDetailsForm(props: IProjectDetailsForm) {
-
- ( - setIsOpen(val)} - className="flex items-center justify-center" - buttonClassName="flex h-[52px] w-[52px] flex-shrink-0 items-center justify-center rounded-lg bg-white/10" - label={} - // TODO: fix types - onChange={(val: any) => { - let logoValue = {}; +
+
+ ( + setIsOpen(val)} + className="flex items-center justify-center" + buttonClassName="flex h-[52px] w-[52px] flex-shrink-0 items-center justify-center rounded-lg bg-white/[0.06]" + label={} + // TODO: fix types + onChange={(val: any) => { + let logoValue = {}; - if (val?.type === "emoji") - logoValue = { - value: val.value, - }; - else if (val?.type === "icon") logoValue = val.value; + if (val?.type === "emoji") + logoValue = { + value: val.value, + }; + else if (val?.type === "icon") logoValue = val.value; - onChange({ - in_use: val?.type, - [val?.type]: logoValue, - }); - setIsOpen(false); - }} - defaultIconColor={value?.in_use && value.in_use === "icon" ? value?.icon?.color : undefined} - defaultOpen={ - value.in_use && value.in_use === "emoji" ? EmojiIconPickerTypes.EMOJI : EmojiIconPickerTypes.ICON - } - disabled={!isAdmin} - /> - )} - /> -
- {watch("name")} - - {watch("identifier")} . - - {project.network === 0 && } - {currentNetwork && t(currentNetwork?.i18n_label)} + onChange({ + in_use: val?.type, + [val?.type]: logoValue, + }); + setIsOpen(false); + }} + defaultIconColor={value?.in_use && value.in_use === "icon" ? value?.icon?.color : undefined} + defaultOpen={ + value.in_use && value.in_use === "emoji" ? EmojiIconPickerTypes.EMOJI : EmojiIconPickerTypes.ICON + } + disabled={!isAdmin} + /> + )} + /> +
+ {watch("name")} + + {watch("identifier")} . + + {project.network === 0 && } + {currentNetwork && t(currentNetwork?.i18n_label)} + - +
@@ -397,7 +399,7 @@ export function ProjectDetailsForm(props: IProjectDetailsForm) { )}
} - menuButtonWrapperClassName="nodedc-settings-select !h-12 font-medium" + menuButtonWrapperClassName="nodedc-settings-select !h-12 min-w-[12.75rem] px-4 font-medium" disabled={!isAdmin} /> ); diff --git a/plane-src/apps/web/core/components/workspace/sidebar/projects-list-item.tsx b/plane-src/apps/web/core/components/workspace/sidebar/projects-list-item.tsx index 5f71d6a..c295ec9 100644 --- a/plane-src/apps/web/core/components/workspace/sidebar/projects-list-item.tsx +++ b/plane-src/apps/web/core/components/workspace/sidebar/projects-list-item.tsx @@ -392,35 +392,66 @@ export const SidebarProjectsListItem = observer(function SidebarProjectsListItem )} - <> - - {isAccordionMode ? ( - + + {!renderInToolbarMenu && ( + + + } - > -
- -
-

{project.name}

-
- ) : ( + className={cn( + "pointer-events-none flex-shrink-0 opacity-0 group-hover/project-item:pointer-events-auto group-hover/project-item:opacity-100", + { + "pointer-events-auto opacity-100": isMenuActive, + } + )} + buttonClassName={cn( + "grid size-7 place-items-center rounded-full text-placeholder transition-colors hover:bg-layer-transparent-hover", + { + "bg-layer-transparent-hover": isMenuActive, + } + )} + placement="bottom-start" + onOpenChange={setIsMenuActive} + items={projectActionMenuItems} + /> + )} +
+ ) : ( + <> +

{project.name}

- )} -
-
- {!renderInToolbarMenu && ( + +
@@ -444,28 +475,9 @@ export const SidebarProjectsListItem = observer(function SidebarProjectsListItem onOpenChange={setIsMenuActive} items={projectActionMenuItems} /> - )} - {isAccordionMode && ( - setIsProjectListOpen(!isProjectListOpen)} - className={cn("hidden text-placeholder group-hover/project-item:inline-flex", { - "inline-flex": isMenuActive, - })} - iconClassName={cn("transition-transform", { - "rotate-90": isProjectListOpen, - })} - aria-label={t( - isProjectListOpen - ? "aria_labels.projects_sidebar.close_project_menu" - : "aria_labels.projects_sidebar.open_project_menu" - )} - /> - )} -
- +
+ + )}
{isAccordionMode && (