import { useEffect, useState } from 'react';
import './App.css';
import SectionGrid from './components/SectionGrid';
import AppModal from './components/AppModal';
import ConfirmDialog from './components/ConfirmDialog';
import Clock from './components/Clock';
import { ToastContainer, toast } from 'react-toastify';
import 'react-toastify/dist/ReactToastify.css';
import { IoIosAdd } from 'react-icons/io';
import CustomToast from './components/CustomToast';
import {
fetchSections,
addAppToSection,
editAppInSection,
deleteAppFromSection,
} from './services/api';
function App() {
const [sections, setSections] = useState([]);
const [editData, setEditData] = useState(null);
const [showAdd, setShowAdd] = useState(false);
const [confirmData, setConfirmData] = useState(null);
const [searchTerm, setSearchTerm] = useState('');
const loadSections = () => {
fetchSections()
.then(data => {
const filtered = (data.sections || []).filter(section => (section.apps?.length ?? 0) > 0);
setSections(filtered);
})
.catch(err => console.error('Failed to fetch sections:', err));
};
useEffect(() => {
loadSections();
}, []);
const handleDelete = (app) => {
setConfirmData({
message: `Are you sure you want to delete "${app.name}"?`,
app,
});
};
const confirmDelete = async () => {
if (!confirmData?.app) return;
try {
await deleteAppFromSection({
section: confirmData.app.section,
app: confirmData.app,
});
toast(