From 0f0408d9f657b13aeeb5776386c1e126a97700f0 Mon Sep 17 00:00:00 2001 From: hamid zarghami Date: Sat, 13 Jun 2026 11:36:35 +0330 Subject: [PATCH] without preview text center --- .../catalogue/components/CatalogPreview.tsx | 104 ++++++++---------- 1 file changed, 43 insertions(+), 61 deletions(-) diff --git a/src/pages/catalogue/components/CatalogPreview.tsx b/src/pages/catalogue/components/CatalogPreview.tsx index 116bffb..187e3f2 100644 --- a/src/pages/catalogue/components/CatalogPreview.tsx +++ b/src/pages/catalogue/components/CatalogPreview.tsx @@ -1,24 +1,24 @@ -import { type FC, useMemo } from 'react' -import BookPage from '@/pages/viewer/components/BookPage' -import { transformViewerDataToPages } from '@/pages/viewer/utils/dataTransformer' -import { getPaperDimensions } from '@/config/paperSizes' -import type { CatalogItemType } from '../types/Types' -import type { PageData } from '@/pages/viewer/types' -import type { Page } from '@/pages/editor/store/editorStore.types' -import { clx } from '@/helpers/utils' +import { getPaperDimensions } from "@/config/paperSizes"; +import { clx } from "@/helpers/utils"; +import type { Page } from "@/pages/editor/store/editorStore.types"; +import BookPage from "@/pages/viewer/components/BookPage"; +import type { PageData } from "@/pages/viewer/types"; +import { transformViewerDataToPages } from "@/pages/viewer/utils/dataTransformer"; +import { type FC, useMemo } from "react"; +import type { CatalogItemType } from "../types/Types"; -const PREVIEW_WIDTH = 64 -const PREVIEW_HEIGHT = 89 +const PREVIEW_WIDTH = 64; +const PREVIEW_HEIGHT = 89; function getFirstPageFromContent(content: string | undefined): PageData | null { - if (!content) return null + if (!content) return null; try { - const parsed = JSON.parse(content) - const pagesArray = Array.isArray(parsed) ? parsed : (parsed?.pages ?? []) - const transformed = transformViewerDataToPages({ pages: pagesArray }) - return transformed[0] ?? null + const parsed = JSON.parse(content); + const pagesArray = Array.isArray(parsed) ? parsed : (parsed?.pages ?? []); + const transformed = transformViewerDataToPages({ pages: pagesArray }); + return transformed[0] ?? null; } catch { - return null + return null; } } @@ -35,83 +35,65 @@ function getPageDataFromEditorPage(page: Page): PageData | null { objects: page.objects, }, ], - }) - return transformed[0] ?? null + }); + return transformed[0] ?? null; } type Props = { - item?: CatalogItemType - page?: Page - size?: string - className?: string - selected?: boolean -} + item?: CatalogItemType; + page?: Page; + size?: string; + className?: string; + selected?: boolean; +}; const CatalogPreview: FC = ({ item, page, size, className, selected }) => { - const catalogSize = item?.size ?? size ?? 'a4' + const catalogSize = item?.size ?? size ?? "a4"; const firstPage = useMemo(() => { - if (page) return getPageDataFromEditorPage(page) - return getFirstPageFromContent(item?.content) - }, [item?.content, page]) + if (page) return getPageDataFromEditorPage(page); + return getFirstPageFromContent(item?.content); + }, [item?.content, page]); const { pageWidth, pageHeight, previewScale } = useMemo(() => { - const { width, height } = getPaperDimensions(catalogSize) - const scale = Math.min(PREVIEW_WIDTH / width, PREVIEW_HEIGHT / height) + const { width, height } = getPaperDimensions(catalogSize); + const scale = Math.min(PREVIEW_WIDTH / width, PREVIEW_HEIGHT / height); return { pageWidth: width, pageHeight: height, previewScale: scale, - } - }, [catalogSize]) + }; + }, [catalogSize]); if (!firstPage) { return ( -
- بدون پیش‌نمایش +
+ بدون پیش‌نمایش
- ) + ); } return (
- +
- ) -} + ); +}; -export default CatalogPreview +export default CatalogPreview;