From beefe6396c54aaec9dfeceb6eaf4a04ee9458926 Mon Sep 17 00:00:00 2001 From: Vikas Nale Date: Wed, 6 Aug 2025 18:32:43 +0530 Subject: [PATCH] - Add date format hook - add Ui for Activities --- package-lock.json | 10 ++ package.json | 1 + src/components/Employee/EmpActivities.jsx | 155 ++++++++++++++++++++++ src/components/Employee/EmpAttendance.jsx | 2 +- src/components/Employee/EmpBanner.jsx | 4 +- src/components/Employee/EmpDocuments.jsx | 2 +- src/components/common/DateRangePicker.jsx | 3 +- src/hooks/useFormattedDate.js | 26 ++++ src/hooks/useProjects.js | 28 ++++ src/pages/employee/EmployeeProfile.jsx | 3 +- src/repositories/ProjectRepository.jsx | 4 + 11 files changed, 231 insertions(+), 7 deletions(-) create mode 100644 src/components/Employee/EmpActivities.jsx create mode 100644 src/hooks/useFormattedDate.js diff --git a/package-lock.json b/package-lock.json index 39e9a3b4..3baaf7c9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,6 +18,7 @@ "apexcharts": "^4.5.0", "axios": "^1.7.9", "axios-retry": "^4.5.0", + "date-fns": "^4.1.0", "dotenv": "^16.4.7", "dotenv-webpack": "^8.1.0", "eventemitter3": "^5.0.1", @@ -2455,6 +2456,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/date-fns": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", + "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, "node_modules/debug": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", diff --git a/package.json b/package.json index 3f4d52fe..33e1f019 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "apexcharts": "^4.5.0", "axios": "^1.7.9", "axios-retry": "^4.5.0", + "date-fns": "^4.1.0", "dotenv": "^16.4.7", "dotenv-webpack": "^8.1.0", "eventemitter3": "^5.0.1", diff --git a/src/components/Employee/EmpActivities.jsx b/src/components/Employee/EmpActivities.jsx new file mode 100644 index 00000000..53b568ec --- /dev/null +++ b/src/components/Employee/EmpActivities.jsx @@ -0,0 +1,155 @@ +import React, { useState, useEffect } from "react"; +import moment from "moment"; +import DateRangePicker from "../common/DateRangePicker"; +import useFormattedDate from "../../hooks/useFormattedDate"; +import { useProjectTasksByEmployee } from "../../hooks/useProjects"; + +const EmpActivities = ({ employee }) => { + const [dateRange, setDateRange] = useState({ startDate: "", endDate: "" }); + const myDate = new Date("2025-08-06T10:30:00Z"); + const formattedToday = useFormattedDate(myDate, "dd-MMM-yyyy"); + console.log(employee); + + const { + ProjectTaskList, + loading: selectedProjectLoding, + refetch, + } = useProjectTasksByEmployee(employee?.id); + + console.log(ProjectTaskList); + return ( + <> +
+
+
+ +
+
    +
  • + +
    +
    +
    Matrix Properties
    + + {formattedToday} + +
    +

    Branch Fitting

    +

    + Building 1 > First Floor > Zone One +

    +

    + Planned: 22 Meter + Completed: 22 Meter +

    +
    +
  • +
  • + +
    +
    +
    Client Meeting
    + 45 min ago +
    +

    Project meeting with john @10:15am

    +
    +
    +
    + Avatar +
    +
    +

    + Lester McCarthy (Client) +

    + CEO of ThemeSelection +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    Create a new project for client
    + 2 Day Ago +
    +

    6 team members in a project

    +
      +
    • +
      +
        +
      • + Avatar +
      • +
      • + Avatar +
      • +
      • + Avatar +
      • +
      • + + +3 + +
      • +
      +
      +
    • +
    +
    +
  • +
+
+
+ + ); +}; + +export default EmpActivities; diff --git a/src/components/Employee/EmpAttendance.jsx b/src/components/Employee/EmpAttendance.jsx index f94b3a8a..d3cbe817 100644 --- a/src/components/Employee/EmpAttendance.jsx +++ b/src/components/Employee/EmpAttendance.jsx @@ -120,7 +120,7 @@ const EmpAttendance = ({ employee }) => { )} -
+
{ )}
- {profile.gender.toLowerCase() == "male" && ( + {profile?.gender?.toLowerCase() == "male" && ( { className="d-block h-auto ms-0 ms-sm-6 rounded-3 user-profile-img" /> )} - {profile.gender.toLowerCase() == "female" && ( + {profile?.gender?.toLowerCase() == "female" && ( { <>