Commit 748b9923 authored by Ramadevi Guduri's avatar Ramadevi Guduri

admin profile

parent 32c2f310
......@@ -6,10 +6,8 @@ import Tabs from "./tabs";
const AdminProfile = () => {
const dispatch = useDispatch();
const { user, loading, error } = useSelector((state) => state.userDetails); // Get user data from Redux store
const { user,error,loading } = useSelector((state) => state.userDetails); // Get user data from Redux store
if (loading) return <div>Loading...</div>;
if (error) return <div>Error: {error}</div>;
......
import React, { useState } from "react";
import React, { useEffect, useState } from "react";
import { useSelector, useDispatch } from "react-redux";
import {fetchReporteeActivities} from '../../redux/reducers/viewreporteeSlice'
import Accordion from "../../components/accordion";
import profileSlice from "../../redux/reducers/profileSlice";
import { fetchProfileReporteeActivities } from "../../redux/reducers/profileSlice";
import Table from "../../components/table/index";
import { convertUTCToLocal } from "../../utils/commonFunctions";
import Loading from "../../components/loading Component/Loading";
const Tabs = () => {
const [index, setIndex] = useState(0);
const dispatch = useDispatch();
const { reports, loading, error, dutiesReports, initiativeReports } = useSelector((state) => state.reports);
const {reportees, viewReportee,currPage, reporteeId } = useSelector((state) => state.reportees);
const fetchActivities = (type) => {
const data ={
empId:viewReportee?.empId,
types:[type],
page: 1,
perPage: 5
}
dispatch(fetchReporteeActivities(data))
}
console.log(fetchActivities)
return (
<>
<div className="text-sm font-medium text-center text-gray-500 border-b border-gray-200 dark:text-gray-400 ">
<ul className="flex flex-wrap -mb-px">
<li className="me-2" onClick={()=>{}}>
<button onClick={()=>{setIndex(0); fetchActivities('duties')}} className="inline-block p-4 text-blue-600 border-b-2 border-blue-600 dark:text-blue-500 " >Duties</button>
</li>
<li className="me-2">
<button onClick={()=>{setIndex(index+1); fetchActivities('initiative')}} className="inline-block p-4 border-b-2 border-transparent hover:text-gray-600 hover:border-gray-300 " >Initiatives</button>
</li>
</ul>
{index === 0 ? <div>
{/* <Accordion data={dutiesReports} /> */}
Duties
</div> : <div>
<p>Intiatives </p>
</div>}
</div>
</>
)
}
export default Tabs;
\ No newline at end of file
const [index, setIndex] = useState(0);
const dispatch = useDispatch();
const { reports, loading, error, dutiesReports, initiativeReports } =
useSelector((state) => state.reports);
const { user } = useSelector((state) => state.userDetails);
// console.log(dutiesReports);
// console.log(initiativeReports);
const fetchActivities = (type) => {
const data = {
empId: user?.empId,
types: [type],
page: 1,
perPage: 5,
};
console.log(data);
dispatch(fetchProfileReporteeActivities(data));
};
useEffect(() => {
fetchActivities("duties");
}, []);
const headers = [
{ title: "Activity Name", id: "aName" },
{
title: "Date",
id: "recorded_date",
render: (value) => convertUTCToLocal(value),
},
{ title: "Rated By", id: "ratedBy" },
{
title: "Score",
id: "score",
render: (value) => (
<div className="w-[35px] px-3 bg-blue-400 rounded-full text-white font-bold text-center p-[4px]">
{value}
</div>
),
},
{
title: "Comments",
id: "comments",
render: (value) => (
<span className="listData" title={value}>
{value}
</span>
),
},
];
return (
<>
<div className="text-sm font-medium text-center text-gray-500 border-b border-gray-200 dark:text-gray-400 ">
<ul className="flex flex-wrap -mb-px">
<li className="me-2" onClick={() => {}}>
<button
onClick={() => {
setIndex(0);
fetchActivities("duties");
}}
className="inline-block p-4 text-blue-600 border-b-2 border-blue-600 dark:text-blue-500 "
>
Duties
</button>
</li>
<li className="me-2">
<button
onClick={() => {
setIndex(index + 1);
fetchActivities("initiative");
}}
className="inline-block p-4 border-b-2 border-transparent hover:text-gray-600 hover:border-gray-300 "
>
Initiatives
</button>
</li>
</ul>
</div>
<div className="">
{index === 0 ? (
<div>
<Table headers={headers}
loading={loading}
data={dutiesReports} />
</div>
) : (
<div>
<Table
headers={headers}
loading={loading}
data={initiativeReports} />
</div>
)}
</div>
</>
);
};
export default Tabs;
......@@ -63,7 +63,7 @@ function Dashboard() {
}, [userDetails]);
useEffect(() => {
debugger
if(inputValue!==null){
const debounceTimeout = setTimeout(() => {
const data = {
......
......@@ -6,7 +6,7 @@ import { loginUser } from "../../redux/reducers/userSlice";
import {useDispatch,useSelector} from 'react-redux'
function Home() {
debugger
const inputRef = useRef(null);
const navigate = useNavigate();
const dispatch=useDispatch()
......@@ -17,7 +17,7 @@ function Home() {
const handleSubmit = async (e) => {
debugger
e.preventDefault();
setLoading(true)
if(id!==null){
......@@ -37,12 +37,12 @@ function Home() {
};
useEffect(()=>{
debugger
setLoading(false)
inputRef.current.focus();
},[])
useEffect(()=>{
debugger
if (userDetails?.user!=null)
navigate("/dashboard")
else
......
......@@ -9,7 +9,7 @@ import {scoreColor} from '../../utils/commonFunctions';
function Viewreportee() {
debugger
const dispatch = useDispatch();
const navigate = useNavigate();
const {reportees, viewReportee,currPage, reporteeId } = useSelector((state) => state.reportees);
......@@ -101,14 +101,7 @@ function Viewreportee() {
<div className="p-4" >
<div className="bg-white p-3 rounded-md">
<div className="flex justify-between">
{/* <div className="my-1">
<p>
<span className="font-medium">Employee Name: </span> {viewReportee?.empName}
</p>
<p>
<span className="font-medium">Designation: </span> {viewReportee?.designation}
</p>
</div> */}
<div className="flex items-center">
<div>
<p className="font-medium mb-2">
......
......@@ -2,11 +2,10 @@ import { createSlice, createAsyncThunk } from "@reduxjs/toolkit";
import axiosApi from '../../api/axiosConfig'
const initialState = {
reports: null,
reports:null,
dutiesReports: null,
initiativeReports: null,
loading: false,
loading: false,
error: null,
};
......@@ -18,11 +17,11 @@ export const fetchProfileReporteeActivities = createAsyncThunk("getReports", asy
const reportSlice = createSlice({
const profileSlice = createSlice({
name: "reportees",
initialState,
reducers: {
resetReports:() => {
resetActivities:() => {
return initialState
},
},
......@@ -42,6 +41,6 @@ const reportSlice = createSlice({
},
});
export const {resetReports} = reportSlice.actions;
export const {resetActivities} = profileSlice.actions;
export default reportSlice.reducer;
export default profileSlice.reducer;
......@@ -2,11 +2,13 @@ import {resetUser} from '../redux/reducers/userSlice';
import {resetReportees} from '../redux/reducers/reporteesSlice';
import { resetReports } from '../redux/reducers/viewreporteeSlice';
import {resetReporteesTableData} from '../redux/reducers/exporttableslice';
import { resetActivities } from '../redux/reducers/profileSlice';
const clearStore = (dispatch) => {
dispatch(resetUser());
dispatch(resetReportees());
dispatch(resetReports())
dispatch(resetReporteesTableData())
dispatch(resetActivities())
};
export default clearStore;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment