diff --git a/web/app/(all)/[workspaceSlug]/(pages)/pages/(pageType)/shared/empty-shared-pages.tsx b/web/app/(all)/[workspaceSlug]/(pages)/pages/(pageType)/shared/empty-shared-pages.tsx
new file mode 100644
index 0000000000..b0b7c7d598
--- /dev/null
+++ b/web/app/(all)/[workspaceSlug]/(pages)/pages/(pageType)/shared/empty-shared-pages.tsx
@@ -0,0 +1,68 @@
+"use client";
+
+import { observer } from "mobx-react";
+import { Users, Crown } from "lucide-react";
+// plane imports
+import { EUserWorkspaceRoles, EUserPermissionsLevel } from "@plane/constants";
+import { Button, getButtonStyling } from "@plane/ui";
+import { cn } from "@plane/utils";
+// hooks
+import { useUserPermissions } from "@/hooks/store";
+// assets
+import { useWorkspaceSubscription } from "@/plane-web/hooks/store";
+
+export const SharedPagesFallback = observer(() => {
+ // store hooks
+ const { allowPermissions } = useUserPermissions();
+ const { togglePaidPlanModal } = useWorkspaceSubscription();
+
+ // derived values
+ const canUpgrade = allowPermissions([EUserWorkspaceRoles.ADMIN], EUserPermissionsLevel.WORKSPACE);
+
+ return (
+
+
+
+
+
+
+
+
Upgrade for Page Sharing
+
+ Collaborate seamlessly by sharing pages with your team members. Grant different access levels and work
+ together on your documentation and knowledge base.
+
+
+
+
+ Share pages with your team
+
+
+ Control access levels (view, edit)
+
+
+
+ {canUpgrade && (
+
+ )}
+
+
+
+ );
+});
diff --git a/web/app/(all)/[workspaceSlug]/(pages)/pages/(pageType)/shared/page.tsx b/web/app/(all)/[workspaceSlug]/(pages)/pages/(pageType)/shared/page.tsx
index 8e368fbcd0..e947807ec2 100644
--- a/web/app/(all)/[workspaceSlug]/(pages)/pages/(pageType)/shared/page.tsx
+++ b/web/app/(all)/[workspaceSlug]/(pages)/pages/(pageType)/shared/page.tsx
@@ -1,8 +1,22 @@
"use client";
+import { useParams } from "next/navigation";
// plane web components
+import { WithFeatureFlagHOC } from "@/plane-web/components/feature-flags";
import { WikiPagesListLayoutRoot } from "@/plane-web/components/pages";
+// local components
+import { SharedPagesFallback } from "./empty-shared-pages";
export default function SharedPagesList() {
- return ;
+ const { workspaceSlug } = useParams();
+
+ return (
+ }
+ >
+
+
+ );
}
diff --git a/web/ee/components/pages/sidebar/section/section-root.tsx b/web/ee/components/pages/sidebar/section/section-root.tsx
index fb7238677d..38bebd4fec 100644
--- a/web/ee/components/pages/sidebar/section/section-root.tsx
+++ b/web/ee/components/pages/sidebar/section/section-root.tsx
@@ -15,6 +15,7 @@ import { useAppTheme } from "@/hooks/store";
import { useAppRouter } from "@/hooks/use-app-router";
// plane web hooks
import { EPageStoreType, usePageStore } from "@/plane-web/hooks/store";
+import { useFlag } from "@/plane-web/hooks/store/use-flag";
// local imports
import { SectionHeader, SectionContent } from "./components";
import { SECTION_DETAILS } from "./constants";
@@ -44,6 +45,14 @@ const WikiSidebarListSectionRootContent: React.FC = observer((
EPageStoreType.WORKSPACE
);
+ // feature flag check for shared pages
+ const isSharedPagesEnabled = useFlag(workspaceSlug?.toString(), "SHARED_PAGES", false);
+
+ // Don't render shared section if feature flag is disabled
+ if (sectionType === "shared" && !isSharedPagesEnabled) {
+ return null;
+ }
+
// Custom hooks
const { isDropping } = useSectionDragAndDrop(listSectionRef, getPageById, sectionType);
const { isLoading } = useSectionPages(sectionType);