After Width: | Height: | Size: 417 B |
After Width: | Height: | Size: 172 B |
After Width: | Height: | Size: 29 KiB |
@ -0,0 +1,101 @@ |
|||||||
|
import React, { useState } from "react"; |
||||||
|
|
||||||
|
import removeCard from "./card-remove.svg"; |
||||||
|
|
||||||
|
import sadEmoji from "./sad-emoji.svg"; |
||||||
|
import smileEmoji from "./smile-emoji.svg"; |
||||||
|
import speechlessEmoji from "./speechless-emoji.svg"; |
||||||
|
import suspiciousEmoji from "./suspicious-emoji.svg"; |
||||||
|
import heartEmoji from "./heart-emoji.svg"; |
||||||
|
import upwardArrow from "./gray-upward-icon.svg"; |
||||||
|
|
||||||
|
const Feedback = ({ feedbacks }) => { |
||||||
|
const [closeModal, setCloseModal] = useState(false); |
||||||
|
const [activeFeedback, setActiveFeedback] = useState(null); |
||||||
|
|
||||||
|
return ( |
||||||
|
<sections |
||||||
|
className="w-full lg:w-1/3 bg-white rounded shadow-sm border border-gray-500 mx-auto my-20 flex-col items-center justify-center relative px-4" |
||||||
|
style={{ display: closeModal ? "none" : "flex" }} |
||||||
|
> |
||||||
|
<div |
||||||
|
className="bg-red-500 rounded-full p-2 absolute -top-5 right-10 cursor-pointer" |
||||||
|
onClick={() => setCloseModal(true)} |
||||||
|
> |
||||||
|
<img src={removeCard} alt="" className="w-5" /> |
||||||
|
</div> |
||||||
|
<h2 className="mt-10 text-productPrice"> |
||||||
|
نظر شما نسبت به رابط کاربری سایت جدیدمون چیه؟ |
||||||
|
</h2> |
||||||
|
<div className="flex flex-row justify-between"> |
||||||
|
{feedbacks.map((item, index) => ( |
||||||
|
<div |
||||||
|
className={`flex flex-col items-center mt-7 w-full px-4 ${activeFeedback ? 'pb-8' : 'pb-0'} relative cursor-pointer transition-all duration-500`} |
||||||
|
key={index} |
||||||
|
onClick={() => setActiveFeedback(item)} |
||||||
|
> |
||||||
|
<img |
||||||
|
src={item.icon} |
||||||
|
alt="" |
||||||
|
className="transition duration-300 transform hover:-translate-y-1 w-14 h-14" |
||||||
|
/> |
||||||
|
|
||||||
|
<p |
||||||
|
className={`text-sm mt-3 transition-all duration-500 ${ |
||||||
|
activeFeedback === item ? "opacity-100" : "opacity-0" |
||||||
|
} `}
|
||||||
|
> |
||||||
|
{item.name} |
||||||
|
</p> |
||||||
|
<img |
||||||
|
src={upwardArrow} |
||||||
|
alt="" |
||||||
|
className={`w-20 h-20 rounded-full absolute left-1/2 transform -translate-x-1/2 bottom-0 translate-y-2/3 z-10 transition-all duration-500 ${ |
||||||
|
activeFeedback === item ? "opacity-100" : "opacity-0" |
||||||
|
}`}
|
||||||
|
/> |
||||||
|
</div> |
||||||
|
))} |
||||||
|
</div> |
||||||
|
<textarea |
||||||
|
className={`resize-y w-full px-2 focus:outline-none text-sm transition-all duration-500 z-20 bg-gray-100 rounded-md ${ |
||||||
|
activeFeedback ? "h-44 py-4" : "h-0 py-0" |
||||||
|
}`}
|
||||||
|
placeholder="به ما در رابطه تجربه کار با سایتمون بگید..." |
||||||
|
></textarea> |
||||||
|
<button |
||||||
|
className="text-white rounded px-8 py-2 my-5 self-end ml-4" |
||||||
|
style={{ backgroundColor: "#246E8A" }} |
||||||
|
> |
||||||
|
ارسال |
||||||
|
</button> |
||||||
|
</sections> |
||||||
|
); |
||||||
|
}; |
||||||
|
|
||||||
|
export default Feedback; |
||||||
|
|
||||||
|
Feedback.defaultProps = { |
||||||
|
feedbacks: [ |
||||||
|
{ |
||||||
|
icon: heartEmoji, |
||||||
|
name: "عالی", |
||||||
|
}, |
||||||
|
{ |
||||||
|
icon: smileEmoji, |
||||||
|
name: "خوب", |
||||||
|
}, |
||||||
|
{ |
||||||
|
icon: speechlessEmoji, |
||||||
|
name: "اوکیه", |
||||||
|
}, |
||||||
|
{ |
||||||
|
icon: sadEmoji, |
||||||
|
name: "بد", |
||||||
|
}, |
||||||
|
{ |
||||||
|
icon: suspiciousEmoji, |
||||||
|
name: "خیلی بد", |
||||||
|
}, |
||||||
|
], |
||||||
|
}; |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 26 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 28 KiB |