import axios from "axios"; import React, { useEffect, useReducer, useState } from "react"; import { Link, useParams } from "react-router-dom"; import { toast } from "react-toastify"; import Button from "react-bootstrap/Button"; import Form from "react-bootstrap/Form"; const reducer = (state, action) => { switch (action.type) { case "FETCH_REQUEST": return { ...state, loading: true }; case "FETCH_SUCCESS": return { ...state, product: action.payload, loading: false }; case "FETCH_FAIL": return { ...state, loading: false, error: action.payload }; default: return state; } }; function AdminEditProductScreen() { const params = useParams(); const { slug } = params; const [{ loading, error, product }, dispatch] = useReducer(reducer, { product: [], loading: true, error: "", }); useEffect(() => { const fetchData = async () => { dispatch({ type: "FETCH_REQUEST" }); try { const result = await axios.get(`/api/products/slug/${slug}`); dispatch({ type: "FETCH_SUCCESS", payload: result.data }); } catch (err) { dispatch({ type: "FETCH_FAIL", payload: err.message }); } }; fetchData(); }, [slug]); const [category, setCategory] = useState("all"); const [subCategory, setSubCategory] = useState("all"); const submitHandler = async (e) => { e.preventDefault(); let name = document.getElementById("name").value; let slug = document.getElementById("slug").value; let price = document.getElementById("price").value; let priceMontaza = document.getElementById("priceMontaza").value; let countInStock = document.getElementById("stock").value; let description = document.getElementById("textArea").value; try { const { data } = await axios.put("/api/products/edit", { name, slug, category, subCategory, description, price, priceMontaza, countInStock, }); toast.success("Успешно ажурирање"); } catch (err) { dispatch({ type: "FETCH_FAIL" }); toast.error("Грешка"); } }; return (
Додади нов производ
Додади категорија
Производи
Нарачки

Ажурирај продукт

Име Слуг Категорија setCategory(e.target.value)}> Подкатегорија { setSubCategory(e.target.value); }} > {category === "dnevna" && ( )} {category === "dnevna" && } {category === "dnevna" && ( )} {category === "dnevna" && ( )} {category === "dnevna" && ( )} {category === "dnevna" && ( )} {category === "dnevna" && ( )} {category === "spalna" && ( )} {category === "spalna" && ( )} {category === "spalna" && ( )} {category === "spalna" && ( )} {category === "spalna" && ( )} {category === "spalna" && ( )} {category === "kancelarija" && ( )} {category === "kancelarija" && ( )} {category === "kancelarija" && ( )} {category === "kancelarija" && ( )} {category === "hodnik" && ( )} {category === "hodnik" && ( )} {category === "hodnik" && ( )} {category === "gradina" && ( )} {category === "gradina" && ( )} {category === "gradina" && ( )} {category === "gradina" && ( )} {category === "gradina" && ( )} {category === "gradina" && ( )} {category === "trpezarija" && ( )} {category === "trpezarija" && ( )} {category === "trpezarija" && ( )} {category === "trpezarija" && ( )} {category === "kujna" && ( )} {category === "kujna" && ( )} {category === "detska" && ( )} {category === "detska" && ( )} {category === "detska" && ( )}
Опис
Цена Цена Монтажа Залиха
); } export default AdminEditProductScreen;