import {createSlice, PayloadAction} from "@reduxjs/toolkit";

export interface UserState {
    name: string
    email: string
    address: string
    phone: string
    avatar: string
    role: string
    permissions: string[]
}

const initialState: UserState = {
    name: '',
    email: '',
    address: '',
    phone: '',
    avatar: '',
    role: '',
    permissions: []
}
const userSlice = createSlice({
    name: 'user',
    initialState,
    reducers: {
        createUser: (state, action: PayloadAction<UserState>) => {
            state.name = action.payload.name;
            state.email = action.payload.email;
            state.address = action.payload.address;
            state.phone = action.payload.phone;
            state.avatar = action.payload.avatar;
            state.role = action.payload.role;
            state.permissions = action.payload.permissions;
        },
        clearUser: (state) => {
            state.name = '';
            state.email = '';
            state.address = '';
            state.phone = '';
            state.avatar = '';
            state.role = '';
            state.permissions = [];
        }
    }

});

export const {createUser,clearUser} = userSlice.actions;
export default userSlice.reducer;
