import { Fragment, useState } from 'react'; import Cookies from "universal-cookie"; import date from 'date-and-time'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faPen, faTrash, faTimes } from '@fortawesome/free-solid-svg-icons'; import { PhotoshopPicker } from 'react-color'; import HeadTag from '../../components/HeadTag'; import Modal from '../../components/Modal'; import redirect from '../../utils/redirect'; import htmlParser from 'html-react-parser'; import Loader from '../../components/Loader'; import useAPI from '../../hooks/useAPI'; import api from '../../utils/api'; import '../../public/css/pages/admin.css'; const defaultCategoryState = { name: "", color: "#ffffff" }; const AddEditCategory = (props) => { const [inputState, setInputState] = useState(props.defaultInputState); const [message, setMessage] = useState(""); const [isLoading, setIsLoading] = useState(false); const handleChange = (event, isTypeCheck = false) => { const inputStateNew = { ...inputState }; inputStateNew[event.target.name] = (event.target.files != undefined) ? event.target.files[0] : (isTypeCheck) ? event.target.checked : event.target.value; setInputState(inputStateNew); } const apiCallCategory = () => { if (props.isEditing) return api.put(`/admin/categories/${inputState.id}`, { name: inputState.name, color: inputState.color }, { headers: { 'Authorization': props.user.token } }); return api.post('/admin/categories', inputState, { headers: { 'Authorization': props.user.token } }); } const handleSubmit = (event) => { event.preventDefault(); setIsLoading(true); apiCallCategory() .then(() => { setIsLoading(false); window.location.reload(true); }) .catch((error) => { setMessage(`
Erreur: ${error.response.data.message}
`); setIsLoading(false); }); } return (id | name | color | createdAt | updatedAt | Modifier | Supprimer |
---|---|---|---|---|---|---|
{category.id} | {category.name} | {category.color} | {date.format(new Date(category.createdAt), 'DD/MM/YYYY à HH:mm', true)} | {date.format(new Date(category.updatedAt), 'DD/MM/YYYY à HH:mm', true)} | handleEditCategory({ name: category.name, color: category.color, id: category.id })}>
|
handleRemoveCategory(category.id)}>
|