diff --git a/apps/web/ce/components/issues/header.tsx b/apps/web/ce/components/issues/header.tsx index c42f42400..b10b8bf1d 100644 --- a/apps/web/ce/components/issues/header.tsx +++ b/apps/web/ce/components/issues/header.tsx @@ -102,7 +102,7 @@ export const IssuesHeader = observer(function IssuesHeader() { )} -
+
diff --git a/apps/web/core/components/common/breadcrumb-link.tsx b/apps/web/core/components/common/breadcrumb-link.tsx index 4ad2f54b1..cff11e762 100644 --- a/apps/web/core/components/common/breadcrumb-link.tsx +++ b/apps/web/core/components/common/breadcrumb-link.tsx @@ -19,7 +19,7 @@ const IconWrapper = React.memo(function IconWrapper({ icon }: { icon: React.Reac IconWrapper.displayName = "IconWrapper"; const LabelWrapper = React.memo(function LabelWrapper({ label }: { label: React.ReactNode }) { - return
{label}
; + return
{label}
; }); LabelWrapper.displayName = "LabelWrapper"; diff --git a/apps/web/core/components/home/home-dashboard-widgets.tsx b/apps/web/core/components/home/home-dashboard-widgets.tsx index 612aaae1a..40f3f59da 100644 --- a/apps/web/core/components/home/home-dashboard-widgets.tsx +++ b/apps/web/core/components/home/home-dashboard-widgets.tsx @@ -86,7 +86,7 @@ export const DashboardWidgets = observer(function DashboardWidgets() { {!isWikiApp && } {isAnyWidgetEnabled ? ( -
+
{orderedWidgets.map((key) => { const WidgetComponent = HOME_WIDGETS_LIST[key]?.component; const isEnabled = widgetsMap[key]?.is_enabled; diff --git a/apps/web/core/components/home/widgets/empty-states/links.tsx b/apps/web/core/components/home/widgets/empty-states/links.tsx index 90f6e78a9..05e93db93 100644 --- a/apps/web/core/components/home/widgets/empty-states/links.tsx +++ b/apps/web/core/components/home/widgets/empty-states/links.tsx @@ -4,7 +4,7 @@ import { EmptyStateCompact } from "@plane/propel/empty-state"; export function LinksEmptyState() { const { t } = useTranslation(); return ( -
+
, + icon: , flag: "visited_members", cta: { text: "home.empty.invite_team.cta", @@ -103,7 +103,7 @@ export const NoProjectsEmptyState = observer(function NoProjectsEmptyState() { ) : ( - + {(currentUser?.email ?? currentUser?.display_name ?? "?")[0]} @@ -150,7 +150,7 @@ export const NoProjectsEmptyState = observer(function NoProjectsEmptyState() { {EMPTY_STATE_DATA.map((item) => { const isStateComplete = isComplete(item.flag); return ( -
+
{t(item.cta.text)} diff --git a/apps/web/core/components/home/widgets/empty-states/recents.tsx b/apps/web/core/components/home/widgets/empty-states/recents.tsx index 0c79a1751..02cb744fb 100644 --- a/apps/web/core/components/home/widgets/empty-states/recents.tsx +++ b/apps/web/core/components/home/widgets/empty-states/recents.tsx @@ -33,7 +33,7 @@ export function RecentsEmptyState({ type }: { type: string }) { const { assetKey, text } = getDisplayContent(type); return ( -
+
); diff --git a/apps/web/core/components/home/widgets/empty-states/stickies.tsx b/apps/web/core/components/home/widgets/empty-states/stickies.tsx index 9f8761cde..d6b2e1d18 100644 --- a/apps/web/core/components/home/widgets/empty-states/stickies.tsx +++ b/apps/web/core/components/home/widgets/empty-states/stickies.tsx @@ -4,7 +4,7 @@ import { EmptyStateCompact } from "@plane/propel/empty-state"; export function StickiesEmptyState() { const { t } = useTranslation(); return ( -
+
); diff --git a/apps/web/core/components/issues/layout-quick-actions.tsx b/apps/web/core/components/issues/layout-quick-actions.tsx index 34941c720..3d3a5d1d5 100644 --- a/apps/web/core/components/issues/layout-quick-actions.tsx +++ b/apps/web/core/components/issues/layout-quick-actions.tsx @@ -1,11 +1,11 @@ -"use client"; - import { observer } from "mobx-react"; import { TOAST_TYPE, setToast } from "@plane/propel/toast"; import type { TContextMenuItem } from "@plane/ui"; import { CustomMenu } from "@plane/ui"; import { copyUrlToClipboard, cn } from "@plane/utils"; import { useLayoutMenuItems } from "@/components/common/quick-actions-helper"; +import { Ellipsis, MoreHorizontal } from "lucide-react"; +import { IconButton } from "@plane/propel/icon-button"; type Props = { workspaceSlug: string; @@ -13,7 +13,7 @@ type Props = { storeType: "PROJECT" | "EPIC"; }; -export const LayoutQuickActions: React.FC = observer((props) => { +export const LayoutQuickActions = observer(function LayoutQuickActions(props: Props) { const { workspaceSlug, projectId, storeType } = props; const layoutLink = `${workspaceSlug}/projects/${projectId}/${storeType === "EPIC" ? "epics" : "issues"}`; @@ -49,6 +49,7 @@ export const LayoutQuickActions: React.FC = observer((props) => { closeOnSelect maxHeight="lg" className="flex-shrink-0 flex items-center justify-center size-[26px] rounded" + customButton={} > {MENU_ITEMS.map((item) => { if (item.shouldRender === false) return null; diff --git a/apps/web/core/components/issues/peek-overview/header.tsx b/apps/web/core/components/issues/peek-overview/header.tsx index 731d9b9c0..623c63c03 100644 --- a/apps/web/core/components/issues/peek-overview/header.tsx +++ b/apps/web/core/components/issues/peek-overview/header.tsx @@ -220,7 +220,7 @@ export const IssuePeekOverviewHeader = observer(function IssuePeekOverviewHeader
-
+
{currentUser && !isArchived && ( )} diff --git a/apps/web/core/components/issues/workspace-draft/empty-state.tsx b/apps/web/core/components/issues/workspace-draft/empty-state.tsx index 7466e513d..6ea7f82bc 100644 --- a/apps/web/core/components/issues/workspace-draft/empty-state.tsx +++ b/apps/web/core/components/issues/workspace-draft/empty-state.tsx @@ -35,7 +35,6 @@ export const WorkspaceDraftEmptyState = observer(function WorkspaceDraftEmptySta title={t("workspace_empty_state.drafts.title")} description={t("workspace_empty_state.drafts.description")} assetKey="draft" - assetClassName="size-20" actions={[ { label: t("workspace_empty_state.drafts.cta_primary"), diff --git a/apps/web/core/components/navigation/customize-navigation-dialog.tsx b/apps/web/core/components/navigation/customize-navigation-dialog.tsx index bafa10884..c453e9110 100644 --- a/apps/web/core/components/navigation/customize-navigation-dialog.tsx +++ b/apps/web/core/components/navigation/customize-navigation-dialog.tsx @@ -176,7 +176,7 @@ export const CustomizeNavigationDialog = observer(function CustomizeNavigationDi
{/* Header */} -
+

{t("customize_navigation")}

@@ -213,7 +213,7 @@ export const CustomizeNavigationDialog = observer(function CustomizeNavigationDi />

{getSidebarNavigationItemIcon(item.key)} -
@@ -244,7 +244,7 @@ export const CustomizeNavigationDialog = observer(function CustomizeNavigationDi />
{icon} - {t(item.labelTranslationKey)} + {t(item.labelTranslationKey)}
); @@ -271,8 +271,8 @@ export const CustomizeNavigationDialog = observer(function CustomizeNavigationDi className="size-4 text-accent-primary focus:ring-accent-strong mt-1" />
-
{t("accordion_navigation_control")}
-
+
{t("accordion_navigation_control")}
+
Feature tabs will appear as nested items under project and acts as accordion.
@@ -288,8 +288,8 @@ export const CustomizeNavigationDialog = observer(function CustomizeNavigationDi className="size-4 text-accent-primary focus:ring-accent-strong mt-1" />
-
{t("horizontal_navigation_bar")}
-
+
{t("horizontal_navigation_bar")}
+
Feature tabs will appear as horizontal tabs inside a project.
@@ -297,20 +297,20 @@ export const CustomizeNavigationDialog = observer(function CustomizeNavigationDi
{/* Limited Projects Checkbox */} -
+
{projectPreferences.showLimitedProjects && (
-
- +
+ { if (sidebarPeek) toggleSidebarPeek(false); toggleSidebar(); }} - > - - + /> ); }); diff --git a/apps/web/core/components/sidebar/sidebar-wrapper.tsx b/apps/web/core/components/sidebar/sidebar-wrapper.tsx index 4264994f1..4006c72a6 100644 --- a/apps/web/core/components/sidebar/sidebar-wrapper.tsx +++ b/apps/web/core/components/sidebar/sidebar-wrapper.tsx @@ -12,6 +12,7 @@ import useSize from "@/hooks/use-window-size"; // plane web components import { WorkspaceEditionBadge } from "@/plane-web/components/workspace/edition-badge"; import { AppSidebarToggleButton } from "./sidebar-toggle-button"; +import { IconButton } from "@plane/propel/icon-button"; type TSidebarWrapperProps = { title: string; @@ -51,13 +52,12 @@ export const SidebarWrapper = observer(function SidebarWrapper(props: TSidebarWr {title} {title === "Projects" && (
- + />
)} diff --git a/apps/web/core/components/workspace-notifications/sidebar/filters/menu/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/filters/menu/root.tsx index eac0109ad..8ff2fe239 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/filters/menu/root.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/filters/menu/root.tsx @@ -10,6 +10,7 @@ import { PopoverMenu } from "@plane/ui"; import { usePlatformOS } from "@/hooks/use-platform-os"; // local imports import { NotificationFilterOptionItem } from "./menu-option-item"; +import { IconButton } from "@plane/propel/icon-button"; export const NotificationFilter = observer(function NotificationFilter() { // hooks @@ -26,9 +27,7 @@ export const NotificationFilter = observer(function NotificationFilter() { data={translatedFilterTypeOptions} button={ -
- -
+
} keyExtractor={(item: { label: string; value: ENotificationFilterType }) => item.value} diff --git a/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx index 02013e585..f86049a2c 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/header/options/menu-option/root.tsx @@ -1,6 +1,6 @@ import type { ReactNode } from "react"; import { observer } from "mobx-react"; -import { Check, CheckCircle, Clock } from "lucide-react"; +import { Check, CheckCircle, Clock, MoreVertical } from "lucide-react"; // plane imports import { useTranslation } from "@plane/i18n"; import { ArchiveIcon } from "@plane/propel/icons"; @@ -10,6 +10,7 @@ import { PopoverMenu } from "@plane/ui"; import { useWorkspaceNotifications } from "@/hooks/store/notifications"; // local imports import { NotificationMenuOptionItem } from "./menu-item"; +import { IconButton } from "@plane/propel/icon-button"; export type TPopoverMenuOptions = { key: string; @@ -72,7 +73,7 @@ export const NotificationHeaderMenuOption = observer(function NotificationHeader return ( } keyExtractor={(item: TPopoverMenuOptions) => item.key} panelClassName="p-0 py-2 rounded-md border border-subtle bg-surface-1 space-y-1" render={(item: TPopoverMenuOptions) => } diff --git a/apps/web/core/components/workspace-notifications/sidebar/header/options/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/header/options/root.tsx index ba5236586..e1469e7cc 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/header/options/root.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/header/options/root.tsx @@ -18,6 +18,7 @@ import { usePlatformOS } from "@/hooks/use-platform-os"; // local imports import { NotificationFilter } from "../../filters/menu"; import { NotificationHeaderMenuOption } from "./menu-option"; +import { IconButton } from "@plane/propel/icon-button"; type TNotificationSidebarHeaderOptions = { workspaceSlug: string; @@ -55,32 +56,29 @@ export const NotificationSidebarHeaderOptions = observer(function NotificationSi
{/* mark all notifications as read*/} -
{ captureSuccess({ eventName: NOTIFICATION_TRACKER_EVENTS.all_marked_read, }); handleMarkAllNotificationsAsRead(); }} - > - {loader === ENotificationLoader.MARK_ALL_AS_READY ? ( - - ) : ( - - )} -
+ />
{/* refetch current notifications */} -
- -
+ />
{/* notification filters */} diff --git a/apps/web/core/components/workspace-notifications/sidebar/header/root.tsx b/apps/web/core/components/workspace-notifications/sidebar/header/root.tsx index 2a908d3d6..29d7c186f 100644 --- a/apps/web/core/components/workspace-notifications/sidebar/header/root.tsx +++ b/apps/web/core/components/workspace-notifications/sidebar/header/root.tsx @@ -27,7 +27,7 @@ export const NotificationSidebarHeader = observer(function NotificationSidebarHe component={ } + icon={} disableTooltip /> } diff --git a/packages/ui/src/header/header.tsx b/packages/ui/src/header/header.tsx index 2ceb13137..1f80bc36b 100644 --- a/packages/ui/src/header/header.tsx +++ b/packages/ui/src/header/header.tsx @@ -57,7 +57,7 @@ function RightItem(props: HeaderProps) { return (