"use client"; import { useQuery } from "@tanstack/react-query"; import Link from "next/link"; import { useTenantId } from "@/hooks/useTenantId"; import { experienceApi } from "@/modules/experience/services/experience-api"; import { ExperiencePageLoader, ExperiencePageError } from "@/modules/experience/pages/shared"; import { ExperienceBreadcrumbs } from "@/modules/experience/components/ExperienceBreadcrumbs"; import { PageHeader, Card, CardContent, Badge, Button } from "@/components/ds"; import { ExperienceTablePage } from "@/modules/experience/design-system"; export const PublishTargetsPage = function ExperiencePublishTargets() { const { tenantId } = useTenantId(); const q = useQuery({ queryKey: ["experience", tenantId, "publish-targets"], queryFn: async () => { const [sites, pages] = await Promise.all([ experienceApi.sites.list(tenantId!), experienceApi.pages.list(tenantId!), ]); return [ ...sites.map((s) => ({ id: s.id, kind: "site", name: s.name ?? s.code, publish_status: s.publish_status, publish_id_provisional: s.id, })), ...pages.map((p) => ({ id: p.id, kind: "page", name: p.title ?? p.slug, publish_status: p.publish_status, publish_id_provisional: p.id, })), ]; }, enabled: !!tenantId, }); if (!tenantId || q.isLoading) return ; if (q.error) return q.refetch()} />; const rows = (q.data ?? []) as Record[]; return (
( {String(row.publish_id_provisional)} ), }, { key: "preview", header: "پیش‌نمایش", render: (row) => ( ), }, ]} rows={rows} />
); }; export default PublishTargetsPage;