From 0560849f88559fb41c98a9d6712a850fe220e4a4 Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com> Date: Tue, 28 Oct 2025 20:14:07 +0530 Subject: [PATCH] [WEB-5271] fix: empty state translation error and code refactoring (#8027) * fix: workspace view empty state translation * chore: search empty state translation fix * chore: workspace view empty state translation --- .../empty-states/archived-issues.tsx | 2 +- .../issue-layouts/empty-states/cycle.tsx | 2 +- .../empty-states/global-view.tsx | 6 +++--- .../issue-layouts/empty-states/module.tsx | 2 +- .../roots/all-issue-layout-root.tsx | 19 ++++++++++--------- 5 files changed, 16 insertions(+), 15 deletions(-) diff --git a/apps/web/core/components/issues/issue-layouts/empty-states/archived-issues.tsx b/apps/web/core/components/issues/issue-layouts/empty-states/archived-issues.tsx index 5563e6f90..0e97f9106 100644 --- a/apps/web/core/components/issues/issue-layouts/empty-states/archived-issues.tsx +++ b/apps/web/core/components/issues/issue-layouts/empty-states/archived-issues.tsx @@ -38,7 +38,7 @@ export const ProjectArchivedEmptyState: React.FC = observer(() => { description={t("common_empty_state.search.description")} actions={[ { - label: t("common.search.cta_secondary"), + label: "Clear filters", onClick: archivedWorkItemFilter?.clearFilters, disabled: !canPerformEmptyStateActions || !archivedWorkItemFilter, variant: "outline-primary", diff --git a/apps/web/core/components/issues/issue-layouts/empty-states/cycle.tsx b/apps/web/core/components/issues/issue-layouts/empty-states/cycle.tsx index 0f636b11a..2ed456f50 100644 --- a/apps/web/core/components/issues/issue-layouts/empty-states/cycle.tsx +++ b/apps/web/core/components/issues/issue-layouts/empty-states/cycle.tsx @@ -93,7 +93,7 @@ export const CycleEmptyState: React.FC = observer(() => { description={t("common_empty_state.search.description")} actions={[ { - label: t("common_empty_state.search.cta_secondary"), + label: "Clear filters", onClick: cycleWorkItemFilter?.clearFilters, disabled: !canPerformEmptyStateActions || !cycleWorkItemFilter, variant: "outline-primary", diff --git a/apps/web/core/components/issues/issue-layouts/empty-states/global-view.tsx b/apps/web/core/components/issues/issue-layouts/empty-states/global-view.tsx index e8ded291e..0114128ea 100644 --- a/apps/web/core/components/issues/issue-layouts/empty-states/global-view.tsx +++ b/apps/web/core/components/issues/issue-layouts/empty-states/global-view.tsx @@ -47,13 +47,13 @@ export const GlobalViewEmptyState: React.FC = observer(() => { return ( { captureClick({ elementName: WORK_ITEM_TRACKER_ELEMENTS.EMPTY_STATE_ADD_BUTTON.GLOBAL_VIEW }); toggleCreateIssueModal(true, EIssuesStoreType.PROJECT); diff --git a/apps/web/core/components/issues/issue-layouts/empty-states/module.tsx b/apps/web/core/components/issues/issue-layouts/empty-states/module.tsx index aa60aedc9..6c30b79be 100644 --- a/apps/web/core/components/issues/issue-layouts/empty-states/module.tsx +++ b/apps/web/core/components/issues/issue-layouts/empty-states/module.tsx @@ -80,7 +80,7 @@ export const ModuleEmptyState: React.FC = observer(() => { description={t("common_empty_state.search.description")} actions={[ { - label: t("common_empty_state.search.cta_secondary"), + label: "Clear filters", onClick: moduleWorkItemFilter?.clearFilters, disabled: !canPerformEmptyStateActions || !moduleWorkItemFilter, variant: "outline-primary", diff --git a/apps/web/core/components/issues/issue-layouts/roots/all-issue-layout-root.tsx b/apps/web/core/components/issues/issue-layouts/roots/all-issue-layout-root.tsx index ee58183a7..6c3daaaf7 100644 --- a/apps/web/core/components/issues/issue-layouts/roots/all-issue-layout-root.tsx +++ b/apps/web/core/components/issues/issue-layouts/roots/all-issue-layout-root.tsx @@ -4,10 +4,10 @@ import { useParams, useSearchParams } from "next/navigation"; import useSWR from "swr"; // plane imports import { GLOBAL_VIEW_TRACKER_ELEMENTS, ISSUE_DISPLAY_FILTERS_BY_PAGE } from "@plane/constants"; +import { EmptyStateDetailed } from "@plane/propel/empty-state"; import type { EIssueLayoutTypes } from "@plane/types"; import { EIssuesStoreType, STATIC_VIEW_TYPES } from "@plane/types"; // components -import { EmptyState } from "@/components/common/empty-state"; import { IssuePeekOverview } from "@/components/issues/peek-overview"; import { WorkspaceActiveLayout } from "@/components/views/helper"; import { WorkspaceLevelWorkItemFiltersHOC } from "@/components/work-item-filters/filters-hoc/workspace-level"; @@ -18,8 +18,6 @@ import { useIssues } from "@/hooks/store/use-issues"; import { useAppRouter } from "@/hooks/use-app-router"; import { IssuesStoreContext } from "@/hooks/use-issue-layout-store"; import { useWorkspaceIssueProperties } from "@/hooks/use-workspace-issue-properties"; -// public imports -import emptyView from "@/public/empty-state/view.svg"; type Props = { isDefaultView: boolean; @@ -109,14 +107,17 @@ export const AllIssueLayoutRoot: React.FC = observer((props: Props) => { // Empty state if (!isLoading && !globalViewsLoading && !issuesLoading && !viewDetails && !isDefaultView) { return ( - router.push(`/${workspaceSlug}/workspace-views/all-issues`), - }} + assetKey="view" + actions={[ + { + label: "Go to All work items", + onClick: () => router.push(`/${workspaceSlug}/workspace-views/all-issues`), + variant: "primary", + }, + ]} /> ); }