diff --git a/apps/web/ce/components/workspace/sidebar/app-search.tsx b/apps/web/ce/components/workspace/sidebar/app-search.tsx index 77a359373..9e0f4cd95 100644 --- a/apps/web/ce/components/workspace/sidebar/app-search.tsx +++ b/apps/web/ce/components/workspace/sidebar/app-search.tsx @@ -1,8 +1,8 @@ import { observer } from "mobx-react"; -import { Search } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; // hooks +import { SidebarSearchButton } from "@/components/sidebar/search-button"; import { useCommandPalette } from "@/hooks/store/use-command-palette"; export const AppSearch = observer(() => { @@ -14,11 +14,10 @@ export const AppSearch = observer(() => { return ( ); }); diff --git a/apps/web/core/components/settings/project/sidebar/nav-item-children.tsx b/apps/web/core/components/settings/project/sidebar/nav-item-children.tsx index d82a28f0c..f397d23be 100644 --- a/apps/web/core/components/settings/project/sidebar/nav-item-children.tsx +++ b/apps/web/core/components/settings/project/sidebar/nav-item-children.tsx @@ -60,11 +60,11 @@ export const NavItemChildren = observer((props: { projectId: string }) => { className={cn( "cursor-pointer relative group w-full flex items-center justify-between gap-1.5 rounded p-1 px-1.5 outline-none", { - "text-custom-primary-200 bg-custom-primary-100/10": isActive, - "text-custom-sidebar-text-200 hover:bg-custom-sidebar-background-90 active:bg-custom-sidebar-background-90": + "text-custom-text-200 bg-custom-background-80/75": isActive, + "text-custom-sidebar-text-300 hover:bg-custom-sidebar-background-90 active:bg-custom-sidebar-background-90": !isActive, }, - "text-sm font-medium" + "text-xs font-medium" )} > {t(getProjectSettingsPageLabelI18nKey(link.key, link.i18n_label))} diff --git a/apps/web/core/components/settings/sidebar/header.tsx b/apps/web/core/components/settings/sidebar/header.tsx index b52d7e046..12db096a4 100644 --- a/apps/web/core/components/settings/sidebar/header.tsx +++ b/apps/web/core/components/settings/sidebar/header.tsx @@ -14,7 +14,7 @@ export const SettingsSidebarHeader = observer((props: { customHeader?: React.Rea return customHeader ? customHeader : currentWorkspace && ( -
+
"flex w-full items-center px-2 py-1.5 rounded text-custom-text-200 justify-between", "hover:bg-custom-primary-100/10", { - "text-custom-primary-200 bg-custom-primary-100/10": typeof isActive === "function" ? isActive(setting) : isActive, - "hover:bg-custom-sidebar-background-90 active:bg-custom-sidebar-background-90": + "text-custom-text-200 bg-custom-background-80/75": typeof isActive === "function" ? isActive(setting) : isActive, + "text-custom-sidebar-text-300 hover:bg-custom-sidebar-background-90 active:bg-custom-sidebar-background-90": typeof isActive === "function" ? !isActive(setting) : !isActive, } ); @@ -83,14 +83,9 @@ const SettingsSidebarNavItem = observer((props: TSettingsSidebarNavItemProps) => {/* Nested Navigation */} {isExpanded && ( - -
{renderChildren?.(setting.key)}
+ +
+ {renderChildren?.(setting.key)} )} diff --git a/apps/web/core/components/sidebar/add-button.tsx b/apps/web/core/components/sidebar/add-button.tsx new file mode 100644 index 000000000..b3901361c --- /dev/null +++ b/apps/web/core/components/sidebar/add-button.tsx @@ -0,0 +1,25 @@ +import React, { FC } from "react"; +import { cn } from "@plane/utils"; + +type Props = React.ComponentProps<"button"> & { + label: React.ReactNode; + onClick: () => void; +}; + +export const SidebarAddButton: FC = (props) => { + const { label, onClick, disabled, ...rest } = props; + return ( + + ); +}; diff --git a/apps/web/core/components/sidebar/search-button.tsx b/apps/web/core/components/sidebar/search-button.tsx new file mode 100644 index 000000000..b765a99a0 --- /dev/null +++ b/apps/web/core/components/sidebar/search-button.tsx @@ -0,0 +1,27 @@ +import React, { FC } from "react"; +import { Search } from "lucide-react"; +import { cn } from "@plane/utils"; + +type Props = { + isActive?: boolean; +}; + +export const SidebarSearchButton: FC = (props) => { + const { isActive } = props; + return ( +
+ +
+ ); +}; diff --git a/apps/web/core/components/sidebar/sidebar-navigation.tsx b/apps/web/core/components/sidebar/sidebar-navigation.tsx index e2313904a..29065c72c 100644 --- a/apps/web/core/components/sidebar/sidebar-navigation.tsx +++ b/apps/web/core/components/sidebar/sidebar-navigation.tsx @@ -17,8 +17,8 @@ export const SidebarNavItem: FC = (props) => { className={cn( "cursor-pointer relative group w-full flex items-center justify-between gap-1.5 rounded px-2 py-1 outline-none", { - "text-custom-primary-200 bg-custom-primary-100/10": isActive, - "text-custom-sidebar-text-200 hover:bg-custom-sidebar-background-90 active:bg-custom-sidebar-background-90": + "text-custom-text-200 bg-custom-background-80/75": isActive, + "text-custom-sidebar-text-300 hover:bg-custom-sidebar-background-90 active:bg-custom-sidebar-background-90": !isActive, }, className diff --git a/apps/web/core/components/sidebar/sidebar-wrapper.tsx b/apps/web/core/components/sidebar/sidebar-wrapper.tsx index b79890ad9..b709b607d 100644 --- a/apps/web/core/components/sidebar/sidebar-wrapper.tsx +++ b/apps/web/core/components/sidebar/sidebar-wrapper.tsx @@ -3,6 +3,7 @@ import { useEffect, useRef } from "react"; import { observer } from "mobx-react"; // plane helpers import { useOutsideClickDetector } from "@plane/hooks"; +import { ScrollArea } from "@plane/propel/scrollarea"; // components import { AppSidebarToggleButton } from "@/components/sidebar/sidebar-toggle-button"; import { SidebarDropdown } from "@/components/workspace/sidebar/dropdown"; @@ -57,9 +58,16 @@ export const SidebarWrapper: FC = observer((props) => { {/* Quick actions */} {quickActions}
-
+ + {children} -
+ {/* Help Section */}
diff --git a/apps/web/core/components/workspace/logo.tsx b/apps/web/core/components/workspace/logo.tsx index 94eb7364a..e33f5541a 100644 --- a/apps/web/core/components/workspace/logo.tsx +++ b/apps/web/core/components/workspace/logo.tsx @@ -17,14 +17,14 @@ export const WorkspaceLogo = observer((props: Props) => {
{props.logo && props.logo !== "" ? ( {t("aria_labels.projects_sidebar.workspace_logo")} ) : ( diff --git a/apps/web/core/components/workspace/sidebar/project-navigation.tsx b/apps/web/core/components/workspace/sidebar/project-navigation.tsx index 935eb91e0..7b678e4e9 100644 --- a/apps/web/core/components/workspace/sidebar/project-navigation.tsx +++ b/apps/web/core/components/workspace/sidebar/project-navigation.tsx @@ -176,7 +176,7 @@ export const ProjectNavigation: FC = observer((props) => { return ( - +
{t(item.i18n_key)} diff --git a/apps/web/core/components/workspace/sidebar/projects-list-item.tsx b/apps/web/core/components/workspace/sidebar/projects-list-item.tsx index 3ae47541b..af60aed6d 100644 --- a/apps/web/core/components/workspace/sidebar/projects-list-item.tsx +++ b/apps/web/core/components/workspace/sidebar/projects-list-item.tsx @@ -402,7 +402,8 @@ export const SidebarProjectsListItem: React.FC = observer((props) => { leaveTo="transform scale-95 opacity-0" > {isProjectListOpen && ( - + +
)} diff --git a/apps/web/core/components/workspace/sidebar/quick-actions.tsx b/apps/web/core/components/workspace/sidebar/quick-actions.tsx index f83f5f7e2..06fbc190b 100644 --- a/apps/web/core/components/workspace/sidebar/quick-actions.tsx +++ b/apps/web/core/components/workspace/sidebar/quick-actions.tsx @@ -9,6 +9,7 @@ import type { TIssue } from "@plane/types"; import { cn } from "@plane/utils"; // components import { CreateUpdateIssueModal } from "@/components/issues/issue-modal/modal"; +import { SidebarAddButton } from "@/components/sidebar/add-button"; // hooks import { useCommandPalette } from "@/hooks/store/use-command-palette"; import { useProject } from "@/hooks/store/use-project"; @@ -73,26 +74,20 @@ export const SidebarQuickActions = observer(() => { fetchIssueDetails={false} isDraft /> -
- + data-ph-element={SIDEBAR_TRACKER_ELEMENTS.CREATE_WORK_ITEM_BUTTON} + />