Project finished

This commit is contained in:
QkoSad
2024-09-30 15:31:42 +03:00
parent ac917e6e26
commit 6c8bfe44cd
10 changed files with 75 additions and 123 deletions
+4 -3
View File
@@ -21,18 +21,18 @@ function FeedbackForm() {
}
}, [feedbackEdit]);
const handleTextChange = ({target:{value}}) => {
const handleTextChange = ({ target: { value } }) => {
if (value === "") {
setBtnDisabled(true);
setMessage(null);
} else if (value.trim().length<10){
} else if (value.trim().length < 10) {
setMessage("Text must be at least 10 characters");
setBtnDisabled(true);
} else {
setMessage(null);
setBtnDisabled(false);
}
setText(value)
setText(value);
};
const handleSubmit = (e) => {
@@ -42,6 +42,7 @@ function FeedbackForm() {
text,
rating,
};
console.log(newFeedback);
if (feedbackEdit.edit === true) {
updateFeedback(feedbackEdit.item.id, newFeedback);
} else {
+1
View File
@@ -1,5 +1,6 @@
import { Link } from "react-router-dom";
import { FaQuestion } from "react-icons/fa";
function AboutIconLink() {
return (
<div className="about-link">
+19 -18
View File
@@ -1,20 +1,21 @@
import PropTypes from 'prop-types'
function Button ({children, version, type, isDisabled}){
return (
<button type={type} disabled={isDisabled} className={`btn btn-${version}`}>
{children}</button>
)
}
Button.defaultProps={
version: 'primavry',
type: 'button'
,
isDisabled:false
}
Button.propTypes ={
children: PropTypes.node.isRequired,
version:PropTypes.string,
type:PropTypes.string,
isDisabled:PropTypes.bool
import PropTypes from "prop-types";
function Button({ children, version, type, isDisabled }) {
return (
<button type={type} disabled={isDisabled} className={`btn btn-${version}`}>
{children}
</button>
);
}
Button.defaultProps = {
version: "primavry",
type: "button",
isDisabled: false,
};
Button.propTypes = {
children: PropTypes.node.isRequired,
version: PropTypes.string,
type: PropTypes.string,
isDisabled: PropTypes.bool,
};
export default Button;
+20 -12
View File
@@ -1,15 +1,23 @@
import PropTypes from 'prop-types'
function Card({children, reverse}){
//return (<div className={`card ${reverse && 'reverse'}`}>{children}</div>)
return (<div className='card' style={{backgroundColor: reverse ? 'rga(0,0,0,0.4)' :'#fff',
color: reverse ? '#fff' : '#000',}}>{children}</div> )
import PropTypes from "prop-types";
function Card({ children, reverse }) {
//return (<div className={`card ${reverse && 'reverse'}`}>{children}</div>)
return (
<div
className="card"
style={{
backgroundColor: reverse ? "rga(0,0,0,0.4)" : "#fff",
color: reverse ? "#fff" : "#000",
}}
>
{children}
</div>
);
}
Card.defaultProps = {
reverse:false
}
Card.propTypes={
children:PropTypes.node.isRequired,
reverse:PropTypes.bool
}
reverse: false,
};
Card.propTypes = {
children: PropTypes.node.isRequired,
reverse: PropTypes.bool,
};
export default Card;
+1
View File
@@ -5,6 +5,7 @@ function RatingSelect({ select }) {
const [selected, setSelected] = useState(10);
const { feedbackEdit } = useContext(FeedbackContext);
const handleChange = (e) => {
console.log(e,typeof e)
setSelected(+e.currentTarget.value);
select(+e.currentTarget.value);
};
+1 -1
View File
@@ -9,4 +9,4 @@ function Spinner() {
/>
);
}
export default Spinner
export default Spinner;
+1
View File
@@ -28,6 +28,7 @@ export const FeedbackProvider = ({ children }) => {
headers: { "Content-Type": "application/json" },
body: JSON.stringify(newFeedback),
});
console.log(response);
const data = await response.json();
setFeedback([data, ...feedback]);
};