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 |