From 5a070bd1fb70500e3589327f6bba49273fe8f4c2 Mon Sep 17 00:00:00 2001 From: Prateek Shourya Date: Fri, 19 Jul 2024 11:38:25 +0530 Subject: [PATCH 1/2] [WEB-1995] fix: searched page redirection from command palette. --- web/core/components/command-palette/helpers.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/web/core/components/command-palette/helpers.tsx b/web/core/components/command-palette/helpers.tsx index 2f41aa46d09..88fdf46b4ef 100644 --- a/web/core/components/command-palette/helpers.tsx +++ b/web/core/components/command-palette/helpers.tsx @@ -73,8 +73,8 @@ export const commandGroups: { {page.project__identifiers?.[0]} {page.name} ), - path: (page: IWorkspaceDefaultSearchResult) => - `/${page?.workspace__slug}/projects/${page?.project_id}/pages/${page?.id}`, + path: (page: IWorkspacePageSearchResult) => + `/${page?.workspace__slug}/projects/${page?.project_ids?.[0]}/pages/${page?.id}`, title: "Pages", }, project: { From dd078bdbe215a7f0af607d25fc7a3aa90411cd22 Mon Sep 17 00:00:00 2001 From: Prateek Shourya Date: Fri, 19 Jul 2024 13:39:40 +0530 Subject: [PATCH 2/2] chore: update redirect logic. --- .../command-palette/actions/search-results.tsx | 8 ++++++-- web/core/components/command-palette/helpers.tsx | 9 ++++++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/web/core/components/command-palette/actions/search-results.tsx b/web/core/components/command-palette/actions/search-results.tsx index c0916f281db..dba61ecc36f 100644 --- a/web/core/components/command-palette/actions/search-results.tsx +++ b/web/core/components/command-palette/actions/search-results.tsx @@ -1,6 +1,7 @@ "use client"; import { Command } from "cmdk"; +import { useParams } from "next/navigation"; // types import { IWorkspaceSearchResults } from "@plane/types"; // helpers @@ -15,8 +16,11 @@ type Props = { export const CommandPaletteSearchResults: React.FC = (props) => { const { closePalette, results } = props; - + // router const router = useAppRouter(); + const { projectId: routerProjectId } = useParams(); + // derived values + const projectId = routerProjectId?.toString(); return ( <> @@ -32,7 +36,7 @@ export const CommandPaletteSearchResults: React.FC = (props) => { key={item.id} onSelect={() => { closePalette(); - router.push(currentSection.path(item)); + router.push(currentSection.path(item, projectId)); }} value={`${key}-${item?.id}-${item.name}-${item.project__identifier ?? ""}-${item.sequence_id ?? ""}`} className="focus:outline-none" diff --git a/web/core/components/command-palette/helpers.tsx b/web/core/components/command-palette/helpers.tsx index 88fdf46b4ef..cc3e80bb7ca 100644 --- a/web/core/components/command-palette/helpers.tsx +++ b/web/core/components/command-palette/helpers.tsx @@ -15,7 +15,7 @@ export const commandGroups: { [key: string]: { icon: JSX.Element; itemName: (item: any) => React.ReactNode; - path: (item: any) => string; + path: (item: any, projectId: string | undefined) => string; title: string; }; } = { @@ -73,8 +73,11 @@ export const commandGroups: { {page.project__identifiers?.[0]} {page.name} ), - path: (page: IWorkspacePageSearchResult) => - `/${page?.workspace__slug}/projects/${page?.project_ids?.[0]}/pages/${page?.id}`, + path: (page: IWorkspacePageSearchResult, projectId: string | undefined) => { + let redirectProjectId = page?.project_ids?.[0]; + if (!!projectId && page?.project_ids?.includes(projectId)) redirectProjectId = projectId; + return `/${page?.workspace__slug}/projects/${redirectProjectId}/pages/${page?.id}`; + }, title: "Pages", }, project: {