// Generated with util/create-component.js import React, { useEffect, useState } from "react"; import PickLabel from "../PickLabel"; import NsImage from "../shared/ns-image"; import Button from "../UI/Button"; import { BookmarkDefault, BookmarkPressed, ComparisonDefault, ComparisonPressed, Share, } from "../UI/Icon"; import Text from "../UI/Text"; import { ProductSidebarProps } from "./ProductSidebar.types"; const ProductSidebar: React.FC = ({ data }) => { const { goodsName, modelName, brandName, image, ImageWrapper, pickType, likeCount, likeStatus, compareStatus, onClickPayButton, onClickShareButton, onClickBookmarkButton, onClickCompareButton, onClickSpecButton, } = data; return (
{brandName} {goodsName} {modelName}
); }; export default ProductSidebar; const ActionButtons = ({ 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 && ( )}
); };