'use client'; import { createSlice } from '@reduxjs/toolkit'; export interface HeaderState { isMobileMenuOpen: boolean; isSearchOpen: boolean; openedMenu: string | null; } const initialState: HeaderState = { isMobileMenuOpen: false, isSearchOpen: false, openedMenu: null }; const headerSlice = createSlice({ name: 'header', initialState, reducers: { openMobileMenu(state) { state.isMobileMenuOpen = true; }, closeMobileMenu(state) { state.isMobileMenuOpen = false; }, toggleMobileMenu(state) { state.isMobileMenuOpen = !state.isMobileMenuOpen; }, openSearch(state) { state.isSearchOpen = true; }, closeSearch(state) { state.isSearchOpen = false; }, toggleSearch(state) { state.isSearchOpen = !state.isSearchOpen; }, setOpenedMenu(state, action) { state.openedMenu = action.payload; }, resetHeaderState() { return initialState; } } }); export const { openMobileMenu, closeMobileMenu, toggleMobileMenu, openSearch, closeSearch, toggleSearch, setOpenedMenu, resetHeaderState } = headerSlice.actions; export default headerSlice.reducer;