|
|
|
@ -1,82 +1,156 @@ |
|
|
|
|
import React from 'react' |
|
|
|
|
import { connect } from 'react-redux'; |
|
|
|
|
import { connectToParent } from '../../utils/comments'; |
|
|
|
|
import userImage from './user.svg'; |
|
|
|
|
import React from "react"; |
|
|
|
|
import { connect } from "react-redux"; |
|
|
|
|
import { connectToParent } from "../../utils/comments"; |
|
|
|
|
import userImage from "./user.svg"; |
|
|
|
|
import positiveIcon from "./positive.svg"; |
|
|
|
|
import negativeIcon from "./negative.svg"; |
|
|
|
|
import Avatar from "../Avatar"; |
|
|
|
|
import moment from "jalali-moment"; |
|
|
|
|
import Button from '../Button'; |
|
|
|
|
|
|
|
|
|
export const Comments = ({comments}) => { |
|
|
|
|
connectToParent(comments); |
|
|
|
|
export const Comments = ({ comments }) => { |
|
|
|
|
// connectToParent(comments);
|
|
|
|
|
const Comment = ({ comment }) => { |
|
|
|
|
return ( |
|
|
|
|
<div className="flex flex-col w-full"> |
|
|
|
|
<header className="w-full flex flex-row justify-between py-1"> |
|
|
|
|
<div className="flex flex-row items-end"> |
|
|
|
|
<Avatar source={comment.userImage} size={60} rounded={true} /> |
|
|
|
|
<div className="flex flex-col"> |
|
|
|
|
<strong className="text-lg mr-2">{comment.username}</strong> |
|
|
|
|
<div |
|
|
|
|
className="flex flex-row divide-x divide-gray-300 divided items-center" |
|
|
|
|
style={{ direction: "ltr" }} |
|
|
|
|
> |
|
|
|
|
<span className="px-2 text-xs text-gray-500"> |
|
|
|
|
{comment.product?.color} |
|
|
|
|
</span> |
|
|
|
|
<span className="px-2 text-xs text-gray-500"> |
|
|
|
|
{comment.product?.name} |
|
|
|
|
</span> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div |
|
|
|
|
className="flex flex-row divide-x divide-gray-300 divided items-center" |
|
|
|
|
style={{ direction: "ltr" }} |
|
|
|
|
> |
|
|
|
|
<span className="px-2 text-sm text-blue-400"> |
|
|
|
|
{moment(comment.data).locale("fa").format("YYYY/MM/DD")} |
|
|
|
|
</span> |
|
|
|
|
<span className="px-2 text-sm text-blue-400"> |
|
|
|
|
{comment.date.getHours()} : {comment.date.getMinutes()} |
|
|
|
|
</span> |
|
|
|
|
</div> |
|
|
|
|
</header> |
|
|
|
|
<div className="flex flex-row py-4"> |
|
|
|
|
<div style={{ width: 60 }} className="min-h-full"></div> |
|
|
|
|
<div className="flex flex-1 flex-col px-3"> |
|
|
|
|
<header className="w-full flex flex-row justify-between items-center"> |
|
|
|
|
<div className="flex flex-row items-center">fuck</div> |
|
|
|
|
<div className="flex flex-row items-center"> |
|
|
|
|
{comment.status === true && ( |
|
|
|
|
<> |
|
|
|
|
<img src={positiveIcon} alt="" className="w-6 ml-2" /> |
|
|
|
|
<span className="text-sm text-black"> |
|
|
|
|
برای خرید توصیه میکنم |
|
|
|
|
</span> |
|
|
|
|
</> |
|
|
|
|
)} |
|
|
|
|
{comment.status === false && ( |
|
|
|
|
<> |
|
|
|
|
<img src={negativeIcon} alt="" className="w-6 ml-2" /> |
|
|
|
|
<span className="text-sm text-black"> |
|
|
|
|
برای خرید توصیه نمیکنم |
|
|
|
|
</span> |
|
|
|
|
</> |
|
|
|
|
)} |
|
|
|
|
</div> |
|
|
|
|
</header> |
|
|
|
|
<p className="text-gray-500 mt-2">{comment.text}</p> |
|
|
|
|
<div className="self-end mt-4"> |
|
|
|
|
<Button buttonBgColor="bg-gray-400" /> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
); |
|
|
|
|
}; |
|
|
|
|
return ( |
|
|
|
|
<div className="w-full flex flex-col"> |
|
|
|
|
|
|
|
|
|
{comments.map((comment, index) => ( |
|
|
|
|
<Comment comment={comment} key={index} /> |
|
|
|
|
))} |
|
|
|
|
</div> |
|
|
|
|
) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const mapStateToProps = (state) => ({ |
|
|
|
|
|
|
|
|
|
}) |
|
|
|
|
); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const mapDispatchToProps = { |
|
|
|
|
const mapStateToProps = (state) => ({}); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
const mapDispatchToProps = {}; |
|
|
|
|
|
|
|
|
|
export default connect(mapStateToProps, mapDispatchToProps)(Comments); |
|
|
|
|
|
|
|
|
|
Comments.defaultProps = { |
|
|
|
|
comments : [ |
|
|
|
|
comments: [ |
|
|
|
|
{ |
|
|
|
|
id: 0, |
|
|
|
|
pid: null, |
|
|
|
|
username : 'آرش سامانی', |
|
|
|
|
date : new Date(), |
|
|
|
|
text : 'به زودی می فهمند که اشتباه کرده اند و عظمت هر ملتی بر روی خرابه های وطن خودش میباشد', |
|
|
|
|
userImage : userImage, |
|
|
|
|
rate : 4, |
|
|
|
|
username: "آرش سامانی", |
|
|
|
|
date: new Date(), |
|
|
|
|
text: "به زودی می فهمند که اشتباه کرده اند و عظمت هر ملتی بر روی خرابه های وطن خودش میباشد", |
|
|
|
|
userImage: userImage, |
|
|
|
|
rate: 4, |
|
|
|
|
product: { |
|
|
|
|
name: "مک بوک پرو 16 گیگ", |
|
|
|
|
color: "خاکستری", |
|
|
|
|
}, |
|
|
|
|
status: true, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
id: 1, |
|
|
|
|
pid: 0, |
|
|
|
|
username : 'سورنا عابدی', |
|
|
|
|
date : new Date(), |
|
|
|
|
text : 'به زودی می فهمند که اشتباه کرده اند و عظمت هر ملتی بر روی خرابه های وطن خودش میباشد', |
|
|
|
|
userImage : userImage, |
|
|
|
|
rate : 4, |
|
|
|
|
username: "سورنا عابدی", |
|
|
|
|
date: new Date(), |
|
|
|
|
text: "به زودی می فهمند که اشتباه کرده اند و عظمت هر ملتی بر روی خرابه های وطن خودش میباشد", |
|
|
|
|
userImage: userImage, |
|
|
|
|
rate: 4, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
id: 2, |
|
|
|
|
pid: 1, |
|
|
|
|
username : 'آرش سامانی', |
|
|
|
|
date : new Date(), |
|
|
|
|
text : 'به زودی می فهمند که اشتباه کرده اند و عظمت هر ملتی بر روی خرابه های وطن خودش میباشد', |
|
|
|
|
userImage : userImage, |
|
|
|
|
rate : 4, |
|
|
|
|
username: "آرش سامانی", |
|
|
|
|
date: new Date(), |
|
|
|
|
text: "به زودی می فهمند که اشتباه کرده اند و عظمت هر ملتی بر روی خرابه های وطن خودش میباشد", |
|
|
|
|
userImage: userImage, |
|
|
|
|
rate: 4, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
id: 3, |
|
|
|
|
pid: 2, |
|
|
|
|
username : 'آرش سامانی', |
|
|
|
|
date : new Date(), |
|
|
|
|
text : 'به زودی می فهمند که اشتباه کرده اند و عظمت هر ملتی بر روی خرابه های وطن خودش میباشد', |
|
|
|
|
userImage : userImage, |
|
|
|
|
rate : 4, |
|
|
|
|
username: "آرش سامانی", |
|
|
|
|
date: new Date(), |
|
|
|
|
text: "به زودی می فهمند که اشتباه کرده اند و عظمت هر ملتی بر روی خرابه های وطن خودش میباشد", |
|
|
|
|
userImage: userImage, |
|
|
|
|
rate: 4, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
id: 4, |
|
|
|
|
pid: 3, |
|
|
|
|
username : 'آرش سامانی', |
|
|
|
|
date : new Date(), |
|
|
|
|
text : 'به زودی می فهمند که اشتباه کرده اند و عظمت هر ملتی بر روی خرابه های وطن خودش میباشد', |
|
|
|
|
userImage : userImage, |
|
|
|
|
rate : 4, |
|
|
|
|
username: "آرش سامانی", |
|
|
|
|
date: new Date(), |
|
|
|
|
text: "به زودی می فهمند که اشتباه کرده اند و عظمت هر ملتی بر روی خرابه های وطن خودش میباشد", |
|
|
|
|
userImage: userImage, |
|
|
|
|
rate: 4, |
|
|
|
|
}, |
|
|
|
|
{ |
|
|
|
|
id: 5, |
|
|
|
|
pid: null, |
|
|
|
|
username : 'رضا رحمانی', |
|
|
|
|
date : new Date(), |
|
|
|
|
text : 'به زودی می فهمند که اشتباه کرده اند و عظمت هر ملتی بر روی خرابه های وطن خودش میباشد', |
|
|
|
|
userImage : userImage, |
|
|
|
|
rate : 4, |
|
|
|
|
username: "رضا رحمانی", |
|
|
|
|
date: new Date(), |
|
|
|
|
text: "به زودی می فهمند که اشتباه کرده اند و عظمت هر ملتی بر روی خرابه های وطن خودش میباشد", |
|
|
|
|
userImage: userImage, |
|
|
|
|
rate: 4, |
|
|
|
|
}, |
|
|
|
|
], |
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|