From e9d8b6daea9f1b0cdf4ad976f4d5f3f7f4ad768d Mon Sep 17 00:00:00 2001 From: Kartik Sharma Date: Fri, 19 Sep 2025 16:43:44 +0530 Subject: [PATCH 1/3] Adding Dropdown and API call in Daily Progress Report. --- src/pages/Activities/DailyTask.jsx | 58 +++++++++++++++++++++++++----- 1 file changed, 49 insertions(+), 9 deletions(-) diff --git a/src/pages/Activities/DailyTask.jsx b/src/pages/Activities/DailyTask.jsx index fc51f756..87bc52e2 100644 --- a/src/pages/Activities/DailyTask.jsx +++ b/src/pages/Activities/DailyTask.jsx @@ -1,7 +1,7 @@ import React, { useEffect, useMemo, useState } from "react"; import { useDispatch } from "react-redux"; import { useTaskList } from "../../hooks/useTasks"; -import { useProjectName } from "../../hooks/useProjects"; +import { useProjectAssignedServices, useProjectName } from "../../hooks/useProjects"; import { setProjectId } from "../../slices/localVariablesSlice"; import Breadcrumb from "../../components/common/Breadcrumb"; import DateRangePicker from "../../components/common/DateRangePicker"; @@ -24,6 +24,14 @@ const DailyTask = () => { const ApprovedTaskRights = useHasUserPermission(APPROVE_TASK); const ReportTaskRights = useHasUserPermission(ASSIGN_REPORT_TASK); + const { data: assignedServices, isLoading: servicesLoading } = useProjectAssignedServices(selectedProject); + + const [selectedService, setSelectedService] = useState(""); + + const handleServiceChange = (e) => { + setSelectedService(e.target.value); + }; + const [filters, setFilters] = useState({ selectedBuilding: "", selectedFloors: [], @@ -38,7 +46,6 @@ const DailyTask = () => { dateRange?.endDate || null ); - // Ensure project is set useEffect(() => { if (!selectedProject && projectNames.length > 0) { debugger @@ -46,7 +53,6 @@ const DailyTask = () => { } }, [selectedProject, projectNames, dispatch]); - // 🔹 Reset filters when project changes useEffect(() => { setFilters({ selectedBuilding: "", @@ -55,7 +61,6 @@ const DailyTask = () => { }); }, [selectedProject]); - // Memoized filtering const filteredTasks = useMemo(() => { if (!TaskList) return []; return TaskList.filter((task) => { @@ -69,7 +74,6 @@ const DailyTask = () => { }); }, [TaskList, filters]); - // Memoized dates const groupedTasks = useMemo(() => { const groups = {}; filteredTasks.forEach((task) => { @@ -82,13 +86,11 @@ const DailyTask = () => { .map((date) => ({ date, tasks: groups[date] })); }, [filteredTasks]); - // --- Modal State const [modal, setModal] = useState({ type: null, data: null }); const openModal = (type, data = null) => setModal({ type, data }); const closeModal = () => setModal({ type: null, data: null }); - // --- Render helpers const renderTeamMembers = (task, refIndex) => (
{ return ( <> - {/* --- Modals --- */} {modal.type === "report" && ( @@ -165,7 +166,7 @@ const DailyTask = () => {
{!selectedProject && (
Please Select Project
)} {/* --- Filters --- */} -
+ {/*
{ currentSelectedActivities={filters.selectedActivities} selectedProject={selectedProject} /> +
*/} + +
+ +
+ + +
+ +
+ +
+ + {/* --- Table --- */}
From 27b62c858df737cb29933ff26f404576d294d6b8 Mon Sep 17 00:00:00 2001 From: Kartik Sharma Date: Fri, 19 Sep 2025 19:50:50 +0530 Subject: [PATCH 2/3] Change the position of Datepicker and Dropdown box. --- src/pages/Activities/DailyTask.jsx | 86 +++++++++++++++++------------- 1 file changed, 48 insertions(+), 38 deletions(-) diff --git a/src/pages/Activities/DailyTask.jsx b/src/pages/Activities/DailyTask.jsx index 87bc52e2..b935b0a6 100644 --- a/src/pages/Activities/DailyTask.jsx +++ b/src/pages/Activities/DailyTask.jsx @@ -165,28 +165,48 @@ const DailyTask = () => {
{!selectedProject && (
Please Select Project
)} - {/* --- Filters --- */} - {/*
- - -
*/}
-
- + {/* --- Left: Service Dropdown + Filter Icon --- */} +
+
+ {servicesLoading ? ( + Loading... + ) : assignedServices?.length > 1 ? ( + + ) : ( +
+ {assignedServices?.length === 1 + ? assignedServices[0].name + : "No service available"} +
+ )} +
+ { />
-
- + {/* --- Right: DateRangePicker --- */} +
+
- - - {/* --- Table --- */}
@@ -288,4 +298,4 @@ const DailyTask = () => { ); }; -export default DailyTask; +export default DailyTask; \ No newline at end of file From 731d2dbed727e4c79f43698bc8fd70793749d762 Mon Sep 17 00:00:00 2001 From: Kartik Sharma Date: Sat, 20 Sep 2025 11:51:32 +0530 Subject: [PATCH 3/3] Changes in Infrastructure. --- src/components/common/FilterIcon.jsx | 4 ++-- src/pages/Activities/DailyTask.jsx | 34 ++++++++++++++-------------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/components/common/FilterIcon.jsx b/src/components/common/FilterIcon.jsx index 0f938e1a..2dc43daa 100644 --- a/src/components/common/FilterIcon.jsx +++ b/src/components/common/FilterIcon.jsx @@ -203,7 +203,7 @@ const FilterIcon = ({ <>

  • -
    Floors
    +
    Floors
    {uniqueFloors.length > 0 ? ( uniqueFloors.map((floor, idx) => ( @@ -235,7 +235,7 @@ const FilterIcon = ({ <>

  • -
    Activities
    +
    Activities
    {uniqueActivities.length > 0 ? ( uniqueActivities.map((activity, idx) => ( diff --git a/src/pages/Activities/DailyTask.jsx b/src/pages/Activities/DailyTask.jsx index b935b0a6..ca676647 100644 --- a/src/pages/Activities/DailyTask.jsx +++ b/src/pages/Activities/DailyTask.jsx @@ -162,7 +162,7 @@ const DailyTask = () => {
    -
    +
    {!selectedProject && (
    Please Select Project
    )} @@ -172,7 +172,7 @@ const DailyTask = () => {
    {servicesLoading ? ( - Loading... + ) : assignedServices?.length > 1 ? ( ) : (
    {assignedServices?.length === 1 - ? assignedServices[0].name + ?
    {assignedServices[0].name}
    : "No service available"}
    )}
    + {/* */} +
    + + {/* --- Right: DateRangePicker --- */} +
    { currentSelectedActivities={filters.selectedActivities} selectedProject={selectedProject} /> -
    - - {/* --- Right: DateRangePicker --- */} -
    { dateFormat="DD-MM-YYYY" />
    +
    {/* --- Table --- */}