import { FC } from 'react'; import { FaEdit, FaExchangeAlt, FaPlus, FaSyncAlt } from 'react-icons/fa'; import { GetConfigurationValue, LocalizeText, ProductTypeEnum, SanitizeHtml } from '../../../../../api'; import { Text } from '../../../../../common'; import { useCatalogData } from '../../../../../hooks'; import { useCatalogAdmin } from '../../../CatalogAdminContext'; import { CatalogHeaderView } from '../../catalog-header/CatalogHeaderView'; import { CatalogAddOnBadgeWidgetView } from '../widgets/CatalogAddOnBadgeWidgetView'; import { CatalogItemGridWidgetView } from '../widgets/CatalogItemGridWidgetView'; import { CatalogLimitedItemWidgetView } from '../widgets/CatalogLimitedItemWidgetView'; import { CatalogPurchaseWidgetView } from '../widgets/CatalogPurchaseWidgetView'; import { CatalogSpinnerWidgetView } from '../widgets/CatalogSpinnerWidgetView'; import { CatalogTotalPriceWidget } from '../widgets/CatalogTotalPriceWidget'; import { CatalogViewProductWidgetView } from '../widgets/CatalogViewProductWidgetView'; import { CatalogLayoutProps } from './CatalogLayout.types'; export const CatalogLayoutDefaultView: FC = props => { const { page = null } = props; const { currentOffer = null, currentPage = null, roomPreviewer = null } = useCatalogData(); const catalogAdmin = useCatalogAdmin(); const adminMode = catalogAdmin?.adminMode ?? false; const offerName = currentOffer?.localizationName?.replace(/\s*\([^)]*\)\s*$/g, ''); return (
{ adminMode && !catalogAdmin.editingPageData &&
{ currentOffer && }
}
{ currentOffer &&
{ offerName } { (currentOffer.product.productType !== ProductTypeEnum.BADGE) && <> } { (currentOffer.product.productType === ProductTypeEnum.BADGE) && }
{ offerName } { adminMode && catalogAdmin.setEditingOffer(currentOffer) } /> }
{ adminMode &&
ID: { currentOffer.product.productClassId } Offer: { currentOffer.offerId } { currentOffer.product.productType.toUpperCase() }
}
} { !currentOffer &&
{ !!page.localization.getImage(1) && }
}
{ GetConfigurationValue('catalog.headers') && }
{ currentOffer &&
} { currentOffer &&
}
); };