import { createSlice } from "@reduxjs/toolkit"; const getInitialState = () => { if (typeof window === "undefined") { return { token: null, isAuthenticated: false }; } const token = localStorage.getItem("token"); return { token: token || null, isAuthenticated: !!token, }; }; const authSlice = createSlice({ name: "auth", initialState: getInitialState(), reducers: { setToken(state, action) { state.token = action.payload; state.isAuthenticated = true; if (typeof window !== "undefined") { localStorage.setItem("token", action.payload); } }, clearToken(state) { state.token = null; state.isAuthenticated = false; if (typeof window !== "undefined") { localStorage.removeItem("token"); } }, }, }); export const { setToken, clearToken } = authSlice.actions; export default authSlice.reducer;