timesheet
This commit is contained in:
parent
6c223f01c9
commit
882f4acad8
|
|
@ -52,10 +52,11 @@ const Timesheets: React.FC = () => {
|
||||||
|
|
||||||
const { windowLogs } = useSelector((state: RootState) => state.window);
|
const { windowLogs } = useSelector((state: RootState) => state.window);
|
||||||
|
|
||||||
|
|
||||||
console.log(" Timesheet in component:", windowLogs);
|
console.log(" Timesheet in component:", windowLogs);
|
||||||
const [projectsData, setProjectsData] = useState<Project[]>([]);
|
const [projectsData, setProjectsData] = useState<Project[]>([]);
|
||||||
const [logs, setLogs] = useState([]);
|
const [logs, setLogs] = useState([]);
|
||||||
const [selectedProject, setSelectedProject] = useState<string | null>(null);
|
// const [selectedProject, setSelectedProject] = useState<string | null>(null);
|
||||||
const [selectedProjectName, setSelectedProjectName] = useState<string>("");
|
const [selectedProjectName, setSelectedProjectName] = useState<string>("");
|
||||||
const [modalOpen, setModalOpen] = useState(false);
|
const [modalOpen, setModalOpen] = useState(false);
|
||||||
const [loading, setLoading] = useState(false);
|
const [loading, setLoading] = useState(false);
|
||||||
|
|
@ -63,9 +64,13 @@ const Timesheets: React.FC = () => {
|
||||||
const [lastRefreshed, setLastRefreshed] = useState<Date | null>(null);
|
const [lastRefreshed, setLastRefreshed] = useState<Date | null>(null);
|
||||||
const [initialLoading, setInitialLoading] = useState(true);
|
const [initialLoading, setInitialLoading] = useState(true);
|
||||||
const [tick, setTick] = useState(0);
|
const [tick, setTick] = useState(0);
|
||||||
|
const { selectedProject } =
|
||||||
|
useSelector((state: any) => state.projects);
|
||||||
|
|
||||||
const activeProjects = projectsData.filter(p => p.status === "ACTIVE");
|
const activeProjects = projectsData.filter(p => p.status === "ACTIVE");
|
||||||
|
|
||||||
|
console.log("selectedProject", selectedProject.projectId)
|
||||||
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const interval = setInterval(() => {
|
const interval = setInterval(() => {
|
||||||
|
|
@ -84,7 +89,6 @@ const Timesheets: React.FC = () => {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const fetchProjects = async () => {
|
const fetchProjects = async () => {
|
||||||
setInitialLoading(true);
|
setInitialLoading(true);
|
||||||
try {
|
try {
|
||||||
|
|
@ -120,7 +124,7 @@ const Timesheets: React.FC = () => {
|
||||||
try {
|
try {
|
||||||
setModalOpen(true);
|
setModalOpen(true);
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
setSelectedProject(projectID);
|
// setSelectedProject(projectID);
|
||||||
setSelectedProjectName(projectName);
|
setSelectedProjectName(projectName);
|
||||||
|
|
||||||
console.log("projectID", projectID)
|
console.log("projectID", projectID)
|
||||||
|
|
@ -154,10 +158,6 @@ const Timesheets: React.FC = () => {
|
||||||
return parts.slice(0, 2).join(" ");
|
return parts.slice(0, 2).join(" ");
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Skeleton loader rows
|
// Skeleton loader rows
|
||||||
const renderSkeletonRows = () => {
|
const renderSkeletonRows = () => {
|
||||||
return Array.from({ length: 5 }).map((_, index) => (
|
return Array.from({ length: 5 }).map((_, index) => (
|
||||||
|
|
@ -225,13 +225,13 @@ const Timesheets: React.FC = () => {
|
||||||
<td>{formatWorkTime(entry.totalWorkTime)}</td>
|
<td>{formatWorkTime(entry.totalWorkTime)}</td>
|
||||||
<td>
|
<td>
|
||||||
<button
|
<button
|
||||||
disabled={formatWorkTime(entry.totalWorkTime) === "0h 0m"}
|
disabled={(formatWorkTime(entry.totalWorkTime) === "0h 0m" || (isTracking && entry.projectId === selectedProject.projectId))}
|
||||||
onClick={() =>
|
onClick={() =>
|
||||||
handleViewLogs(entry.projectId, entry.projectName)
|
handleViewLogs(entry.projectId, entry.projectName)
|
||||||
}
|
}
|
||||||
className="btn btn-ghost btn-xs"
|
className="btn btn-ghost btn-xs"
|
||||||
>
|
>
|
||||||
{formatWorkTime(entry.totalWorkTime) === "0h 0m" ? (
|
{(formatWorkTime(entry.totalWorkTime) === "0h 0m" || (isTracking && entry.projectId === selectedProject.projectId)) ? (
|
||||||
<EyeOff size={16} />
|
<EyeOff size={16} />
|
||||||
) : (
|
) : (
|
||||||
<Eye size={16} />
|
<Eye size={16} />
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue