// src/pages/Dashboard.js
import React, { useState, useEffect } from 'react';
import { Link } from 'react-router-dom';
import useAuth from '../contexts/useAuth';
import axios from 'axios';

const Dashboard = () => {
  const auth = useAuth();
  const [objects, setObjects] = useState([]);

  useEffect(() => {
    const fetchObjects = async () => {
      try {
        const response = await axios.get('/api/user/objects'); // заменить на нужный endpoint
        setObjects(response.data.objects);
      } catch (err) {
        console.error(err.response ? err.response.data : err.message);
      }
    };

    fetchObjects();
  }, []);

  // Функция подтверждения удаления объекта
  const confirmDelete = objId => {
    if (window.confirm('Вы действительно хотите удалить этот объект?')) {
      deleteObject(objId);
    }
  };

  // Функция удаления объекта
  const deleteObject = async objId => {
    try {
      await axios.delete(`/api/delete-object/${objId}`); // заменить на правильный endpoint
      setObjects(prevObjects => prevObjects.filter(obj => obj.id !== objId));
      alert('Объект успешно удалён!');
    } catch (err) {
      console.error(err.response ? err.response.data : err.message);
    }
  };

  return (
    <div className="container">
      <h2>Ваш личный кабинет</h2>
      <ul>
        {objects.map(obj => (
          <li key={obj.id}>
            Название: {obj.title}, Описание: {obj.description}<br/>
            <Link to={`/edit-object/${obj.id}`}>Редактировать</Link>  <a href="#" onClick={() => confirmDelete(obj.id)}>Удалить</a>
          </li>
        ))}
      </ul>
      <Link to="/add-object">Добавить объект</Link>
    </div>
  );
};

export default Dashboard;