fixed item update
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
const API_KEY = 'AIzaSyA_w7wmOAibpiDF5H3mXuL9AhcN-KVkFg4';
|
||||
//const API_KEY = 'AIzaSyA_w7wmOAibpiDF5H3mXuL9AhcN-KVkFg4';
|
||||
const API_KEY = 'AIzaSyCWPG-WbraYVEk6wVEZX8dJQAABTibvGNM';
|
||||
const CSE_ID = '611cd62b5f315445c';
|
||||
|
||||
export async function searchAndResizeImage(query) {
|
||||
@@ -11,11 +12,16 @@ export async function searchAndResizeImage(query) {
|
||||
console.log('Image URL:', imageUrl);
|
||||
return imageUrl;
|
||||
}
|
||||
else {
|
||||
console.error('No image found.');
|
||||
return "";
|
||||
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error fetching image:', error);
|
||||
return "";
|
||||
}
|
||||
console.error('No image found.');
|
||||
return "";
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@@ -2,10 +2,11 @@ import axios from "axios";
|
||||
|
||||
|
||||
|
||||
export const getItem = async (_id) => {
|
||||
export const getItem = async (id) => {
|
||||
try {
|
||||
const response = await axios.get("/item", {_id});
|
||||
console.log(response.data)
|
||||
console.log("GET ITEM ID : ", id)
|
||||
const response = await axios.get("/item/"+id);
|
||||
console.log("GET ITEM : ", response.data)
|
||||
return response.data;
|
||||
} catch (error) {
|
||||
console.log("ERROR", error.response.data)
|
||||
|
@@ -79,6 +79,7 @@
|
||||
|
||||
.item-list {
|
||||
width: 100%;
|
||||
max-width:50vw;
|
||||
}
|
||||
|
||||
.pagination {
|
||||
|
@@ -1,14 +1,26 @@
|
||||
import React, { useState, useEffect } from "react";
|
||||
import { Form, Input, InputNumber, Button, Select } from "antd";
|
||||
import { Form, Input, InputNumber, Button, Select, DatePicker } from "antd";
|
||||
import axios from "axios";
|
||||
import { getRooms } from "../../api/room";
|
||||
import { getItem } from "../../api/item";
|
||||
import moment from 'moment';
|
||||
|
||||
const { TextArea } = Input;
|
||||
const { Option } = Select;
|
||||
|
||||
|
||||
function formatItem(_id, brand, model, room, price, purchaseDate, description, categories, createdAt, updatedAt, __v) {
|
||||
function formatItem(itemObj) {//_id, brand, model, room, price, purchaseDate, description, categories, createdAt, updatedAt, __v, link) {
|
||||
let _id = itemObj._id
|
||||
let brand = itemObj.brand
|
||||
let model = itemObj.model
|
||||
let room = itemObj.room
|
||||
let price = itemObj.price
|
||||
let purchaseDate = new Date(itemObj.purchaseDate)
|
||||
let description = itemObj.description
|
||||
let categories = itemObj.categories
|
||||
let createdAt = itemObj.createdAt
|
||||
let updatedAt = itemObj.updatedAt
|
||||
let __v = itemObj.__v
|
||||
let link = itemObj.link
|
||||
let item = {
|
||||
_id,
|
||||
brand,
|
||||
@@ -20,7 +32,8 @@ function formatItem(_id, brand, model, room, price, purchaseDate, description, c
|
||||
categories,
|
||||
createdAt,
|
||||
updatedAt,
|
||||
__v
|
||||
__v,
|
||||
link
|
||||
}
|
||||
return item;
|
||||
}
|
||||
@@ -28,15 +41,29 @@ function formatItem(_id, brand, model, room, price, purchaseDate, description, c
|
||||
export const FormUpdateItem = ({ itemId }) => {
|
||||
const [form] = Form.useForm();
|
||||
const [rooms, setRooms] = useState([]);
|
||||
const [item, setItem] = useState(formatItem({ _id: itemId }))
|
||||
const [item, setItem] = useState(null)
|
||||
|
||||
useEffect(() => {
|
||||
const fetchData = async () => {
|
||||
const roomsResponse = await getRooms();
|
||||
setRooms(roomsResponse);
|
||||
|
||||
setRooms(getRooms())
|
||||
const itemResponse = await getItem(itemId);
|
||||
console.log(itemResponse)
|
||||
setItem(formatItem(itemResponse));
|
||||
};
|
||||
|
||||
setItem(getItem(item._id))
|
||||
fetchData();
|
||||
}, [itemId]);
|
||||
|
||||
}, []);
|
||||
useEffect(() => {
|
||||
if (item) {
|
||||
form.setFieldsValue({
|
||||
...item,
|
||||
purchaseDate: item.purchaseDate ? moment(item.purchaseDate) : null,
|
||||
});
|
||||
}
|
||||
}, [item, form]);
|
||||
|
||||
const onFinish = async (values) => {
|
||||
try {
|
||||
@@ -50,6 +77,7 @@ export const FormUpdateItem = ({ itemId }) => {
|
||||
}
|
||||
};
|
||||
|
||||
const dateFormat = 'YYYY-MM-DD';
|
||||
return (
|
||||
<Form
|
||||
form={form}
|
||||
@@ -65,7 +93,9 @@ export const FormUpdateItem = ({ itemId }) => {
|
||||
</Form.Item>
|
||||
<Form.Item label="Room" name="room">
|
||||
<Select placeholder="Select a room">
|
||||
{rooms.map((room) => (
|
||||
{console.log(rooms)}
|
||||
{
|
||||
rooms.map((room) => (
|
||||
<Option key={room._id} value={room._id}>
|
||||
{room.name}
|
||||
</Option>
|
||||
@@ -76,7 +106,9 @@ export const FormUpdateItem = ({ itemId }) => {
|
||||
<InputNumber />
|
||||
</Form.Item>
|
||||
<Form.Item label="Purchase Date" name="purchaseDate">
|
||||
<Input />
|
||||
<DatePicker
|
||||
dateFormat={dateFormat}
|
||||
/>
|
||||
</Form.Item>
|
||||
<Form.Item label="Description" name="description">
|
||||
<Input.TextArea rows={4} />
|
||||
|
@@ -98,7 +98,7 @@ export const ItemBox = ({ model, brand, purchaseDate, price, _id }) => {
|
||||
<div className="modal">
|
||||
<div className="modal-content">
|
||||
<span className="close" onClick={closeModal}>×</span>
|
||||
<FormUpdateItem itemId={_id}></FormUpdateItem>
|
||||
<FormUpdateItem itemId={_id}>{console.log("item ID :" + _id)}</FormUpdateItem>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
@@ -26,8 +26,8 @@ export const Home = () => {
|
||||
return (
|
||||
<div style={{ display: 'block', margin: '5%, 50%, 0' }}>
|
||||
{user && <h2>BONJOUR {user.user.username}</h2>}
|
||||
<p>C'est un plaisir de te voir aujourd'hui.</p>
|
||||
<p>Nous allons te g<EFBFBD>n<EFBFBD>rer un message inspirationnel rien que pour toi :)</p>
|
||||
<p>C'est un plaisir de te voir aujourd'hui. Il n'y a pas grand chose <20> afficher sur cette page. Voici donc de quoi t'inspirer :</p>
|
||||
<p style={{ textAlign: 'center' }}> Importation d'une image inspirante de <a href="https://inspirobot.me/">Inspirobot</a> :</p>
|
||||
{inspirationUrl && <img src={inspirationUrl + '?' + new Date().getTime()} alt="inspirobot" style={{ display: 'block', margin: 'auto' }} width='auto' />}
|
||||
<p>Credits : https://inspirobot.me/</p>
|
||||
</div>
|
||||
|
@@ -18,8 +18,8 @@ export const RoomsStats = () => {
|
||||
setPageTitle("Toutes les rooms :");
|
||||
}, [setPageTitle]);
|
||||
return (
|
||||
<div>
|
||||
|
||||
<div className="gridContainer">
|
||||
<div className="StatsContainer"></div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
Reference in New Issue
Block a user