From 439fa3daeaa543e0a0d8da16cd785a98c112e17f Mon Sep 17 00:00:00 2001 From: Anmol Singh Bhatia <121005188+anmolsinghbhatia@users.noreply.github.com> Date: Mon, 7 Sep 2026 18:22:35 +0530 Subject: [PATCH] refactor: migrate web Tabs to @makeplane/propel (#9752) * refactor: migrate web Tabs to @makeplane/propel Replace in-repo @plane/propel/tabs with @makeplane/propel/components/tabs in analytics, the image picker popover, and the page navigation pane. Published Tabs omit className on Tabs and TabsPanel, so fill-height layouts use a flex/grid wrapper instead. Tabs.Trigger, Tabs.Content, and Tabs.Indicator become Tab, TabsList, and TabsPanel. * fix: restore cover picker tab strip to full width Published TabsList is inline-flex, so Images/Upload hugged content instead of spanning the 36rem panel. Stretch the list to the previous full-width segmented bar. * chore: sync apps/space lockfile to @makeplane/propel 0.3.0 preview's lockfile still resolved apps/space to 0.2.0 after the catalog bump, so pnpm install --frozen-lockfile failed in CI. * fix: restore cover picker tab panel mt-3 p-3 spacing Match the previous scroll wrapper inset so thumbnail grid sizing stays aligned with the 36rem picker layout. --- .../(projects)/analytics/[tabId]/page.tsx | 41 +-- .../components/core/image-picker-popover.tsx | 330 +++++++++--------- .../components/pages/navigation-pane/root.tsx | 16 +- .../pages/navigation-pane/tab-panels/root.tsx | 13 +- .../pages/navigation-pane/tabs-list.tsx | 11 +- 5 files changed, 206 insertions(+), 205 deletions(-) diff --git a/apps/web/app/(all)/[workspaceSlug]/(projects)/analytics/[tabId]/page.tsx b/apps/web/app/(all)/[workspaceSlug]/(projects)/analytics/[tabId]/page.tsx index 3d4735b65..e1e985e1d 100644 --- a/apps/web/app/(all)/[workspaceSlug]/(projects)/analytics/[tabId]/page.tsx +++ b/apps/web/app/(all)/[workspaceSlug]/(projects)/analytics/[tabId]/page.tsx @@ -11,7 +11,7 @@ import { useRouter } from "next/navigation"; import { EUserPermissions, EUserPermissionsLevel } from "@plane/constants"; import { useTranslation } from "@plane/i18n"; import { EmptyStateDetailed } from "@plane/propel/empty-state"; -import { Tabs } from "@plane/propel/tabs"; +import { Tab, Tabs, TabsList, TabsPanel } from "@makeplane/propel/components/tabs"; // components import { cn } from "@plane/utils"; import AnalyticsFilterActions from "@/components/analytics/analytics-filter-actions"; @@ -73,45 +73,32 @@ function AnalyticsPage({ params }: Route.ComponentProps) { <> {workspaceProjectIds.length > 0 || loader === "init-loader" ? (
No images found.
- ) - ) : ( -No images found.
+ ) + ) : ( ++ {fileRejections[0].errors[0].code === "file-too-large" + ? "The image size cannot exceed 5 MB." + : "Please upload a file in a valid format."} +
)} - +File formats supported- .jpeg, .jpg, .png, .webp
+ +- {fileRejections[0].errors[0].code === "file-too-large" - ? "The image size cannot exceed 5 MB." - : "Please upload a file in a valid format."} -
- )} - -File formats supported- .jpeg, .jpg, .png, .webp
- -