starRating DetailPanel component 추가
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
import React from "react";
|
||||
|
||||
import classNames from "classnames/bind";
|
||||
|
||||
import css from "./StarRating.module.less";
|
||||
|
||||
export default function StarRating({ rating }) {
|
||||
const roundToHalf = (number) => {
|
||||
return Math.round(number * 2) / 2;
|
||||
};
|
||||
|
||||
const cx = classNames.bind(css);
|
||||
const roundedRating = Math.min(Math.max(0, roundToHalf(rating)), 5);
|
||||
const className = `starRating-${roundedRating.toString().replace(".", "_")}`;
|
||||
|
||||
return <div className={cx("star", className)} />;
|
||||
}
|
||||
@@ -0,0 +1,47 @@
|
||||
|
||||
@import "../../../style/CommonStyle.module.less";
|
||||
@import "../../../style/utils.module.less";
|
||||
|
||||
.star {
|
||||
.size(@w: 180px , @h: 36px);
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
|
||||
&.starRating-0 {
|
||||
background-image: url('../../../../assets/images/img-detail-star-0-0@3x.png');
|
||||
}
|
||||
&.starRating-0_5 {
|
||||
background-image: url('../../../../assets/images/img-detail-star-0-5@3x.png');
|
||||
}
|
||||
&.starRating-1 {
|
||||
background-image: url('../../../../assets/images/img-detail-star-1-0@3x.png');
|
||||
}
|
||||
&.starRating-1_5 {
|
||||
background-image: url('../../../../assets/images/img-detail-star-1-5@3x.png');
|
||||
}
|
||||
&.starRating-2 {
|
||||
background-image: url('../../../../assets/images/img-detail-star-2-0@3x.png');
|
||||
}
|
||||
&.starRating-2_5 {
|
||||
background-image: url('../../../../assets/images/img-detail-star-2-5@3x.png');
|
||||
}
|
||||
&.starRating-3 {
|
||||
background-image: url('../../../../assets/images/img-detail-star-3-0@3x.png');
|
||||
}
|
||||
&.starRating-3_5 {
|
||||
background-image: url('../../../../assets/images/img-detail-star-3-5@3x.png');
|
||||
}
|
||||
&.starRating-4 {
|
||||
background-image: url('../../../../assets/images/img-detail-star-4-0@3x.png');
|
||||
}
|
||||
&.starRating-4_5 {
|
||||
background-image: url('../../../../assets/images/img-detail-star-4-5@3x.png');
|
||||
}
|
||||
&.starRating-5 {
|
||||
background-image: url('../../../../assets/images/img-detail-star-5-0@3x.png');
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -20,7 +20,6 @@ const SpottableComponent = Spottable("div");
|
||||
export default function OptionGroup({ selectedPatnrId, selectedPardtId }) {
|
||||
const dispatch = useDispatch();
|
||||
const groupInfos = useSelector((state) => state.product.groupInfo);
|
||||
console.log("# groupInfos", groupInfos);
|
||||
|
||||
useEffect(() => {
|
||||
dispatch(
|
||||
|
||||
@@ -8,6 +8,7 @@ import TButton from "../../../components/TButton/TButton";
|
||||
import TPopUp from "../../../components/TPopUp/TPopUp";
|
||||
import { $L } from "../../../utils/helperMethods";
|
||||
import Indicator from "../components/Indicator";
|
||||
import StarRating from "../components/StarRating";
|
||||
import css from "./ProductThumbnail.module.less";
|
||||
|
||||
const SpottableComponent = Spottable("div");
|
||||
@@ -15,7 +16,6 @@ const SpottableComponent = Spottable("div");
|
||||
export default function ProductThumbnail() {
|
||||
const productData = useSelector((state) => state.main.productData);
|
||||
const [opened, setOpened] = useState(false);
|
||||
console.log("#productData", productData);
|
||||
|
||||
const buttonLabel = [
|
||||
{ label: $L("DESCRIPTION") },
|
||||
@@ -43,6 +43,7 @@ export default function ProductThumbnail() {
|
||||
<span>{`ID:` + productData?.prdtId}</span>
|
||||
</div>
|
||||
<h3>{productData?.prdtNm}</h3>
|
||||
<StarRating rating={productData?.revwGrd} />
|
||||
</div>
|
||||
</div>
|
||||
</TPopUp>
|
||||
|
||||
Reference in New Issue
Block a user