| @@ -121,6 +121,9 @@ const OfferCard = (props) => { | |||
| {/* This only shows on vertical offer card */} | |||
| <OfferTitleAboveImage | |||
| vertical={props.vertical} | |||
| noOfButtons={ | |||
| props.isAdmin ? 3 : props.isMyOffer ? (props?.offer?.pinned ? 3 : 2) : (props?.offer?.pinned ? 2 : 1) | |||
| } | |||
| onClick={() => routeToItem(props?.offer?._id)} | |||
| > | |||
| {props?.offer?.name} | |||
| @@ -93,7 +93,6 @@ export const OfferTitle = styled(Typography)` | |||
| color: ${selectedTheme.colors.primaryPurple}; | |||
| font-weight: 700; | |||
| font-size: 24px; | |||
| width: calc(100% - 120px); | |||
| cursor: pointer; | |||
| overflow: hidden; | |||
| line-height: 33px; | |||
| @@ -103,9 +102,9 @@ export const OfferTitle = styled(Typography)` | |||
| text-overflow: ellipsis; | |||
| max-height: 33px; | |||
| margin-bottom: 28px; | |||
| max-width: calc(100% - 200px); | |||
| @media (max-width: 550px) { | |||
| width: 100%; | |||
| width: calc(100% - 60px); | |||
| font-size: 18px; | |||
| display: none; | |||
| ${(props) => | |||
| @@ -309,8 +308,8 @@ export const OfferTitleAboveImage = styled(OfferTitle)` | |||
| padding-top: 5px; | |||
| padding-left: 1px; | |||
| display: block; | |||
| width: 60%; | |||
| max-width: 60%; | |||
| width: calc(100% - ${props => props.noOfButtons} * 30px - 10px); | |||
| max-width: calc(100% - ${props => props.noOfButtons} * 30px - 10px); | |||
| height: 40px; | |||
| line-height: 20px; | |||
| text-overflow: ellipsis; | |||
| @@ -54,6 +54,8 @@ const UserReviews = (props) => { | |||
| ) | |||
| ); | |||
| console.log("userr", props) | |||
| useEffect(() => { | |||
| let idProfile = routeMatch.params.idProfile; | |||
| if (idProfile) { | |||
| @@ -92,7 +94,7 @@ const UserReviews = (props) => { | |||
| ) { | |||
| dispatch(setReviews([...offer?.companyData.lastThreeReviews])); | |||
| } | |||
| return [...reviews]; | |||
| return [...offer?.companyData?.lastThreeReviews]; | |||
| } | |||
| return []; | |||
| }, [props.profileReviews, offer, props.isProfileReviews, reviews, isGiven]); | |||
| @@ -1,47 +1,49 @@ | |||
| import { reviewEnum } from "../../enums/reviewEnum"; | |||
| export const sortReviews = (reviews, positive = false) => { | |||
| export const sortReviews = (reviews = [], positive = false) => { | |||
| let newReviews; | |||
| console.log(reviews); | |||
| if (!Array.isArray(reviews)) return []; | |||
| if (positive) { | |||
| newReviews = [ | |||
| ...reviews.filter( | |||
| ...reviews?.filter( | |||
| (review) => | |||
| review.succeeded === reviewEnum.YES.backendText && | |||
| review.communication === reviewEnum.YES.backendTextSecond | |||
| ), | |||
| ...reviews.filter( | |||
| ...reviews?.filter( | |||
| (review) => | |||
| review.succeeded === reviewEnum.YES.backendText && | |||
| review.communication === reviewEnum.NOT_BAD.backendText | |||
| ), | |||
| ...reviews.filter( | |||
| ...reviews?.filter( | |||
| (review) => | |||
| review.succeeded === reviewEnum.YES.backendText && | |||
| review.communication === reviewEnum.NO.backendTextSecond | |||
| ), | |||
| ...reviews.filter( | |||
| ...reviews?.filter( | |||
| (review) => review.succeeded === reviewEnum.NO.backendText | |||
| ), | |||
| ]; | |||
| } else { | |||
| newReviews = [ | |||
| ...reviews.filter( | |||
| ...reviews?.filter( | |||
| // 4 | |||
| (review) => review.succeeded === reviewEnum.NO.backendText | |||
| ), | |||
| ...reviews.filter( | |||
| ...reviews?.filter( | |||
| // 3 | |||
| (review) => | |||
| review.succeeded === reviewEnum.YES.backendText && | |||
| review.communication === reviewEnum.NO.backendTextSecond | |||
| ), | |||
| ...reviews.filter( | |||
| ...reviews?.filter( | |||
| // 2 | |||
| (review) => | |||
| review.succeeded === reviewEnum.YES.backendText && | |||
| review.communication === reviewEnum.NOT_BAD.backendText | |||
| ), | |||
| ...reviews.filter( | |||
| ...reviews?.filter( | |||
| // prvo | |||
| (review) => | |||
| review.succeeded === reviewEnum.YES.backendText && | |||