business slug

This commit is contained in:
hamid zarghami
2026-06-07 12:04:15 +03:30
parent 3c9bb6274f
commit d95a6e679e
4 changed files with 28 additions and 15 deletions
+13 -6
View File
@@ -17,12 +17,19 @@ type ViewerProps = {
bySlug?: boolean;
};
const Viewer: FC<ViewerProps> = ({ bySlug = false }) => {
const { id } = useParams<{ id: string }>();
const { id, businessSlug, slug } = useParams<{
id?: string;
businessSlug?: string;
slug?: string;
}>();
const catalogKey = bySlug ? slug : id;
const {
data,
isLoading,
error: queryError,
} = bySlug ? useGetCatalogBySlug(id ?? "") : useGetCatalogById(id ?? "");
} = bySlug
? useGetCatalogBySlug(businessSlug ?? "", slug ?? "")
: useGetCatalogById(id ?? "");
usePageTitle(`کاتالوگ ${data?.data?.name}`);
const [pages, setPages] = useState<PageData[]>([]);
const [documentSettings, setDocumentSettings] = useState<
@@ -30,7 +37,7 @@ const Viewer: FC<ViewerProps> = ({ bySlug = false }) => {
>(undefined);
useEffect(() => {
if (!data?.data?.content || !id) return;
if (!data?.data?.content || !catalogKey) return;
try {
const parsed = JSON.parse(data.data.content);
const pagesArray = Array.isArray(parsed) ? parsed : (parsed.pages ?? []);
@@ -47,13 +54,13 @@ const Viewer: FC<ViewerProps> = ({ bySlug = false }) => {
} catch (err) {
console.error("خطا در پردازش محتوای کاتالوگ:", err);
}
}, [data?.data?.content, id]);
}, [data?.data?.content, catalogKey]);
useBrowserFullscreen({ enabled: Boolean(id) });
useBrowserFullscreen({ enabled: Boolean(catalogKey) });
const { isReady: areInitialPagesReady, progress: preloadProgress } =
useInitialPagesPreload(pages, documentSettings);
if (!id) {
if (!catalogKey || (bySlug && !businessSlug)) {
return (
<div className="w-full h-full flex items-center justify-center">
<div className="text-gray-600">شناسه کاتالوگ مشخص نیست</div>