import { create } from 'zustand'; import { monitoringService } from '../services/monitoringService'; import { toast } from 'sonner'; export const useMonitoring = create((set, get) => ({ monitoringData: [], mokiData: [], loading: false, error: null, fetchMonitoring: async () => { set({ loading: true, error: null }); try { const data = await monitoringService.getMonitoring(); set({ monitoringData: Array.isArray(data) ? data : (data.data || []) }); } catch (error) { set({ error: error.message }); console.error('Erro ao carregar monitoramento:', error); } finally { set({ loading: false }); } }, fetchMokiData: async () => { set({ loading: true }); try { const data = await monitoringService.getMokiData(); set({ mokiData: Array.isArray(data) ? data : (data.data || []) }); } catch (error) { console.error('Erro ao carregar dados Moki:', error); } finally { set({ loading: false }); } }, createMonitoring: async (data) => { try { await monitoringService.createMonitoring(data); toast.success('Registro de monitoramento criado!'); get().fetchMonitoring(); } catch (error) { toast.error('Erro ao criar monitoramento: ' + error.message); } }, updateMoki: async (id, data) => { try { await monitoringService.updateMokiData(id, data); toast.success('Checklist atualizado!'); get().fetchMokiData(); } catch (error) { toast.error('Erro ao atualizar checklist: ' + error.message); } }, // Refreshes both fetchAll: () => { get().fetchMonitoring(); get().fetchMokiData(); } }));