// Generated with util/create-component.js import React, { useEffect, useState } from "react"; import { useMobileDetect } from "../../hooks/useMobileDetect"; import ColorChips from "../ColorChips"; import PickLabel from "../PickLabel"; import NsImage from "../shared/ns-image"; import StarRating from "../StarRating"; import Button from "../UI/Button"; import Heading from "../UI/Heading"; import { BookmarkDefault, BookmarkPressed, Caret, ComparisonDefault, ComparisonPressed, Share, } from "../UI/Icon"; import Slider from "../UI/Slider"; import Text from "../UI/Text"; import { ProductDetailTitleProps } from "./ProductDetailTitle.types"; const ProductDetailTitle: React.FC = ({ data }) => { const { isMobile } = useMobileDetect(); const { goodsName, modelName, brandName, productCategory, price, images, pickType, reviewAvg, reviewCnt, colors, likeCount, likeStatus, compareStatus, onClickBookmarkButton, onClickCompareButton, onClickShareButton, onClickPayButton, onClickReviewButton, } = data; const getPriceString = (price: string) => { const endText = price.slice(-2, price.length); if (endText === "만원") return price; return price + "만원"; }; return (
{colors && (
)} {images.map((image) => { return (
); })}

{brandName} {goodsName} {modelName}

{/* PC 가격 */} {getPriceString(price)} {reviewAvg && reviewCnt ? (
{ onClickReviewButton && onClickReviewButton(); }} > {reviewCnt}개의 구매후기 & 리뷰 } />
) : ( "" )} {/* PC 구매하기 버튼 */}
{/* 모바일 공유하기 버튼 */}
{/* PC 버튼 */}
); }; export default ProductDetailTitle; const PcButtons = ({ onClickBookmarkButton, onClickCompareButton, onClickShareButton, likeCount = 0, likeStatus = false, compareStatus = false, }: { onClickBookmarkButton: () => void; onClickCompareButton: () => void; onClickShareButton: () => void; likeCount?: number; likeStatus?: boolean; compareStatus?: boolean; }) => { const [likeCountState, setLikeCount] = useState(likeCount); const [isLiked, setIsLiked] = useState(likeStatus); const [isCompared, setIsCompared] = useState(compareStatus); const onLikeCountStatus = (likeCount: number) => { setLikeCount(likeCount); }; const onLikeStatus = (likeStatus: boolean) => { setIsLiked(likeStatus); }; const onCompareStatus = (compareStatus: boolean) => { setIsCompared(compareStatus); }; useEffect(() => { setLikeCount(likeCount); onLikeStatus(likeStatus); onCompareStatus(compareStatus); }, [likeStatus, compareStatus]); return (
{onClickBookmarkButton && ( )} {onClickShareButton && ( )} {onClickCompareButton && ( )}
); };