"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;