import { createAction, createAsyncThunk } from '@reduxjs/toolkit'; import { getDashboardLeadCountApi, getDashboardProjectActivityApi } from '@api'; import { DashboardLeadCountItem, DashboardLeadCountPayload, DashboardProjectActivityItem, DashboardProjectActivityPayload, } from '@interfaces'; export const resetDashboardState = createAction('dashboard/resetState'); export const getDashboardLeadCount = createAsyncThunk< DashboardLeadCountItem[], DashboardLeadCountPayload >( 'dashboard/getLeadCount', async (payload, { rejectWithValue }) => { try { return await getDashboardLeadCountApi(payload); } catch (error: any) { return rejectWithValue(error.message || 'Failed to load dashboard lead count'); } }, ); export const getDashboardProjectActivity = createAsyncThunk< DashboardProjectActivityItem[], DashboardProjectActivityPayload >( 'dashboard/getProjectActivity', async (payload, { rejectWithValue }) => { try { return await getDashboardProjectActivityApi(payload); } catch (error: any) { return rejectWithValue(error.message || 'Failed to load project activity log'); } }, );