import { createSlice, PayloadAction } from '@reduxjs/toolkit';
import { VarrometerState } from '../types/varrometer';

const initialState: VarrometerState = {
  currentPhase: 'introduction',
  step: 1,
  beekeepingType: '',
  timePerHive: '',
  hiveType: '',
  frames: 0,
  geneticResistance: '',
  treatmentAvailable: '',
  infestationLevel: '',
  infestationRate: 0,
  reference: '',
  selectedTreatments: [],
  assessmentDate: new Date().toISOString(),
  veterinaryProducts: [],
  colonyStrength: 'strong',
  actionTime: undefined,
  bottomBoard: undefined,
  sampleSize: undefined,
  selectedMethod: undefined,
  miteCount: undefined,
  selectedBiotechnicalMethods: [],
  monitoringHistory: []
};

const varrometerSlice = createSlice({
  name: 'varrometer',
  initialState,
  reducers: {
    updateVarrometerState: (state, action: PayloadAction<Partial<VarrometerState>>) => {
      return { ...state, ...action.payload };
    },
    resetVarrometerState: () => initialState
  }
});

export const { updateVarrometerState, resetVarrometerState } = varrometerSlice.actions;
export default varrometerSlice.reducer;
