"use client"; import Link from "next/link"; import { Rocket } from "lucide-react"; import { Button, Card, CardContent, Badge } from "@/components/ds"; import { useExperienceCapabilities } from "@/modules/experience/hooks/useExperienceCapabilities"; import { ExperiencePageLoader, ExperiencePageError } from "@/modules/experience/pages/shared"; import { ExperienceBreadcrumbs } from "@/modules/experience/components/ExperienceBreadcrumbs"; import type { PhaseGateConfig } from "@/modules/experience/types"; /** Phase gate — builder pages bypass gate per ADR-002 (Experience FE owns builder UX). */ export function ExperiencePhaseGate({ config, children, bypass = false, }: { config: PhaseGateConfig; children?: React.ReactNode; bypass?: boolean; }) { const caps = useExperienceCapabilities(); if (caps.isLoading) return ; if (caps.error) return caps.refetch()} />; const enabled = bypass || caps.data?.features?.[config.feature] === true; if (enabled && children) return <>{children}>; return ( {config.title} {config.description} فاز {config.phase} مشاهده قابلیتها بازگشت به داشبورد ); } export function createExperiencePhasePage(config: PhaseGateConfig, bypass = false) { return function ExperiencePhasePage() { return ; }; }
{config.description}