import React from 'react'; import { Link as RouterLink } from '../../i18n'; import Container from '../shared/Container'; import { OfferBlock, OfferWrapper } from '../../styles/components/main/Offer.style'; import { Tooltip } from '../shared/Tooltip'; import { ButtonContainer, TButtonColors } from '../../styles/components/shared/Button.style'; import { hrefResolverProduct, linkResolverProduct } from '../../prismic'; import { PrismicLink as PrismicLinkInterface, PrismicDocument } from 'easy-prismic-react'; import PrismicLink from '../PrismicLink'; import { SharedProductData } from '../../typings/entities'; import RichText from '../RichText'; import { THardcodedPagesSlugs } from '../../pages/products/[slug]'; interface OfferProps { slug: THardcodedPagesSlugs | string; name: string; startingPrice: string; priceHoverText: JSX.Element | string; illustration: { url: string; alt?: string }; } interface Props { title: string; offers: OfferProps[]; CTAFindLabel: string; CATFindLink: PrismicLinkInterface; CTAButtonColor?: TButtonColors; } export function convertOffer(offer: PrismicDocument): OfferProps { return { slug: offer.uid, name: offer.data.product_name, startingPrice: offer.data.product_starting_price, priceHoverText: , illustration: offer.data.product_illustration }; } const Offers: React.FC = ({ title, offers, CTAFindLabel, CATFindLink, CTAButtonColor }) => (

{title}

{offers.map((offer, index) =>
{offer.illustration.alt}

{offer.name}

à partir de {offer.startingPrice} € } > {offer.priceHoverText} En savoir plus
)}
{CTAFindLabel}
); export default Offers;