diff --git a/public/img/front-pages/landing-page/dashboard-light-01.png b/public/img/app/dashboard-light-01.png similarity index 100% rename from public/img/front-pages/landing-page/dashboard-light-01.png rename to public/img/app/dashboard-light-01.png diff --git a/public/img/front-pages/landing-page/dashboard-light-02.png b/public/img/app/dashboard-light-02.png similarity index 100% rename from public/img/front-pages/landing-page/dashboard-light-02.png rename to public/img/app/dashboard-light-02.png diff --git a/public/img/front-pages/landing-page/dashboard-light-03.png b/public/img/app/dashboard-light-03.png similarity index 100% rename from public/img/front-pages/landing-page/dashboard-light-03.png rename to public/img/app/dashboard-light-03.png diff --git a/public/img/front-pages/landing-page/dashboard-light-04.png b/public/img/app/dashboard-light-04.png similarity index 100% rename from public/img/front-pages/landing-page/dashboard-light-04.png rename to public/img/app/dashboard-light-04.png diff --git a/public/img/front-pages/landing-page/dashboard-light-05.png b/public/img/app/dashboard-light-05.png similarity index 100% rename from public/img/front-pages/landing-page/dashboard-light-05.png rename to public/img/app/dashboard-light-05.png diff --git a/public/img/front-pages/landing-page/dashboard-light-06.png b/public/img/app/dashboard-light-06.png similarity index 100% rename from public/img/front-pages/landing-page/dashboard-light-06.png rename to public/img/app/dashboard-light-06.png diff --git a/public/img/front-pages/landing-page/dashboard-light-07.png b/public/img/app/dashboard-light-07.png similarity index 100% rename from public/img/front-pages/landing-page/dashboard-light-07.png rename to public/img/app/dashboard-light-07.png diff --git a/public/img/front-pages/landing-page/dashboard-light-08.png b/public/img/app/dashboard-light-08.png similarity index 100% rename from public/img/front-pages/landing-page/dashboard-light-08.png rename to public/img/app/dashboard-light-08.png diff --git a/public/img/front-pages/backgrounds/cta-bg-dark.png b/public/img/backgrounds/cta-bg-dark.png similarity index 100% rename from public/img/front-pages/backgrounds/cta-bg-dark.png rename to public/img/backgrounds/cta-bg-dark.png diff --git a/public/img/front-pages/backgrounds/cta-bg-light.png b/public/img/backgrounds/cta-bg-light.png similarity index 100% rename from public/img/front-pages/backgrounds/cta-bg-light.png rename to public/img/backgrounds/cta-bg-light.png diff --git a/public/img/front-pages/backgrounds/footer-bg-dark.png b/public/img/backgrounds/footer-bg-dark.png similarity index 100% rename from public/img/front-pages/backgrounds/footer-bg-dark.png rename to public/img/backgrounds/footer-bg-dark.png diff --git a/public/img/front-pages/backgrounds/footer-bg-light.png b/public/img/backgrounds/footer-bg-light.png similarity index 100% rename from public/img/front-pages/backgrounds/footer-bg-light.png rename to public/img/backgrounds/footer-bg-light.png diff --git a/public/img/front-pages/backgrounds/footer-bg.png b/public/img/backgrounds/footer-bg.png similarity index 100% rename from public/img/front-pages/backgrounds/footer-bg.png rename to public/img/backgrounds/footer-bg.png diff --git a/public/img/front-pages/backgrounds/hero-bg.png b/public/img/backgrounds/hero-bg.png similarity index 100% rename from public/img/front-pages/backgrounds/hero-bg.png rename to public/img/backgrounds/hero-bg.png diff --git a/public/img/front-pages/branding/logo-1.png b/public/img/brand/logo-1.png similarity index 100% rename from public/img/front-pages/branding/logo-1.png rename to public/img/brand/logo-1.png diff --git a/public/img/front-pages/branding/logo-2.png b/public/img/brand/logo-2.png similarity index 100% rename from public/img/front-pages/branding/logo-2.png rename to public/img/brand/logo-2.png diff --git a/public/img/front-pages/branding/logo-3.png b/public/img/brand/logo-3.png similarity index 100% rename from public/img/front-pages/branding/logo-3.png rename to public/img/brand/logo-3.png diff --git a/public/img/front-pages/branding/logo-4.png b/public/img/brand/logo-4.png similarity index 100% rename from public/img/front-pages/branding/logo-4.png rename to public/img/brand/logo-4.png diff --git a/public/img/front-pages/branding/logo-5.png b/public/img/brand/logo-5.png similarity index 100% rename from public/img/front-pages/branding/logo-5.png rename to public/img/brand/logo-5.png diff --git a/public/img/front-pages/branding/logo-6.png b/public/img/brand/logo-6.png similarity index 100% rename from public/img/front-pages/branding/logo-6.png rename to public/img/brand/logo-6.png diff --git a/public/img/front-pages/branding/logo_1-dark.png b/public/img/brand/logo_1-dark.png similarity index 100% rename from public/img/front-pages/branding/logo_1-dark.png rename to public/img/brand/logo_1-dark.png diff --git a/public/img/front-pages/branding/logo_1-light.png b/public/img/brand/logo_1-light.png similarity index 100% rename from public/img/front-pages/branding/logo_1-light.png rename to public/img/brand/logo_1-light.png diff --git a/public/img/front-pages/branding/logo_2-dark.png b/public/img/brand/logo_2-dark.png similarity index 100% rename from public/img/front-pages/branding/logo_2-dark.png rename to public/img/brand/logo_2-dark.png diff --git a/public/img/front-pages/branding/logo_2-light.png b/public/img/brand/logo_2-light.png similarity index 100% rename from public/img/front-pages/branding/logo_2-light.png rename to public/img/brand/logo_2-light.png diff --git a/public/img/front-pages/branding/logo_3-dark.png b/public/img/brand/logo_3-dark.png similarity index 100% rename from public/img/front-pages/branding/logo_3-dark.png rename to public/img/brand/logo_3-dark.png diff --git a/public/img/front-pages/branding/logo_3-light.png b/public/img/brand/logo_3-light.png similarity index 100% rename from public/img/front-pages/branding/logo_3-light.png rename to public/img/brand/logo_3-light.png diff --git a/public/img/front-pages/branding/logo_4-dark.png b/public/img/brand/logo_4-dark.png similarity index 100% rename from public/img/front-pages/branding/logo_4-dark.png rename to public/img/brand/logo_4-dark.png diff --git a/public/img/front-pages/branding/logo_4-light.png b/public/img/brand/logo_4-light.png similarity index 100% rename from public/img/front-pages/branding/logo_4-light.png rename to public/img/brand/logo_4-light.png diff --git a/public/img/front-pages/branding/logo_5-dark.png b/public/img/brand/logo_5-dark.png similarity index 100% rename from public/img/front-pages/branding/logo_5-dark.png rename to public/img/brand/logo_5-dark.png diff --git a/public/img/front-pages/branding/logo_5-light.png b/public/img/brand/logo_5-light.png similarity index 100% rename from public/img/front-pages/branding/logo_5-light.png rename to public/img/brand/logo_5-light.png diff --git a/public/img/brand/marco.png b/public/img/brand/marco.png index ca14f303..446e998f 100644 Binary files a/public/img/brand/marco.png and b/public/img/brand/marco.png differ diff --git a/public/img/front-pages/landing-page/cta-dashboard.png b/public/img/front-pages/landing-page/cta-dashboard.png deleted file mode 100644 index 9dcb642f..00000000 Binary files a/public/img/front-pages/landing-page/cta-dashboard.png and /dev/null differ diff --git a/public/img/front-pages/landing-page/hero-dashboard-dark.png b/public/img/front-pages/landing-page/hero-dashboard-dark.png deleted file mode 100644 index e035ae98..00000000 Binary files a/public/img/front-pages/landing-page/hero-dashboard-dark.png and /dev/null differ diff --git a/public/img/front-pages/landing-page/hero-dashboard-light1.png b/public/img/front-pages/landing-page/hero-dashboard-light1.png deleted file mode 100644 index b4f5fe55..00000000 Binary files a/public/img/front-pages/landing-page/hero-dashboard-light1.png and /dev/null differ diff --git a/public/img/front-pages/landing-page/hero-elements-dark.png b/public/img/front-pages/landing-page/hero-elements-dark.png deleted file mode 100644 index af1f5506..00000000 Binary files a/public/img/front-pages/landing-page/hero-elements-dark.png and /dev/null differ diff --git a/public/img/front-pages/landing-page/hero-elements-light.png b/public/img/front-pages/landing-page/hero-elements-light.png deleted file mode 100644 index 99f88901..00000000 Binary files a/public/img/front-pages/landing-page/hero-elements-light.png and /dev/null differ diff --git a/public/img/front-pages/misc/checkout-image.png b/public/img/front-pages/misc/checkout-image.png deleted file mode 100644 index 720bfc48..00000000 Binary files a/public/img/front-pages/misc/checkout-image.png and /dev/null differ diff --git a/public/img/front-pages/misc/nav-item-col-img.png b/public/img/front-pages/misc/nav-item-col-img.png deleted file mode 100644 index 5e51e3be..00000000 Binary files a/public/img/front-pages/misc/nav-item-col-img.png and /dev/null differ diff --git a/public/img/front-pages/misc/product-image.png b/public/img/front-pages/misc/product-image.png deleted file mode 100644 index 25f511b9..00000000 Binary files a/public/img/front-pages/misc/product-image.png and /dev/null differ diff --git a/public/img/front-pages/icons/Join-community-arrow.png b/public/img/icons/Join-community-arrow.png similarity index 100% rename from public/img/front-pages/icons/Join-community-arrow.png rename to public/img/icons/Join-community-arrow.png diff --git a/public/img/front-pages/landing-page/apple-icon.png b/public/img/icons/apple-icon.png similarity index 100% rename from public/img/front-pages/landing-page/apple-icon.png rename to public/img/icons/apple-icon.png diff --git a/public/img/front-pages/icons/check-warning.svg b/public/img/icons/check-warning.svg similarity index 100% rename from public/img/front-pages/icons/check-warning.svg rename to public/img/icons/check-warning.svg diff --git a/public/img/front-pages/icons/check.svg b/public/img/icons/check.svg similarity index 100% rename from public/img/front-pages/icons/check.svg rename to public/img/icons/check.svg diff --git a/public/img/front-pages/icons/contact-border.png b/public/img/icons/contact-border.png similarity index 100% rename from public/img/front-pages/icons/contact-border.png rename to public/img/icons/contact-border.png diff --git a/public/img/front-pages/icons/diamond-info.svg b/public/img/icons/diamond-info.svg similarity index 100% rename from public/img/front-pages/icons/diamond-info.svg rename to public/img/icons/diamond-info.svg diff --git a/public/img/front-pages/icons/facebook.svg b/public/img/icons/facebook.svg similarity index 100% rename from public/img/front-pages/icons/facebook.svg rename to public/img/icons/facebook.svg diff --git a/public/img/front-pages/icons/github.svg b/public/img/icons/github.svg similarity index 100% rename from public/img/front-pages/icons/github.svg rename to public/img/icons/github.svg diff --git a/public/img/front-pages/landing-page/google-play-icon.png b/public/img/icons/google-play-icon.png similarity index 100% rename from public/img/front-pages/landing-page/google-play-icon.png rename to public/img/icons/google-play-icon.png diff --git a/public/img/front-pages/icons/instagram.svg b/public/img/icons/instagram.svg similarity index 100% rename from public/img/front-pages/icons/instagram.svg rename to public/img/icons/instagram.svg diff --git a/public/img/icons/inventory.svg b/public/img/icons/inventory.svg new file mode 100644 index 00000000..6e56346a --- /dev/null +++ b/public/img/icons/inventory.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/public/img/front-pages/icons/keyboard.svg b/public/img/icons/keyboard.svg similarity index 100% rename from public/img/front-pages/icons/keyboard.svg rename to public/img/icons/keyboard.svg diff --git a/public/img/front-pages/icons/laptop.svg b/public/img/icons/laptop.svg similarity index 100% rename from public/img/front-pages/icons/laptop.svg rename to public/img/icons/laptop.svg diff --git a/public/img/front-pages/icons/paper-airplane.png b/public/img/icons/paper-airplane.png similarity index 100% rename from public/img/front-pages/icons/paper-airplane.png rename to public/img/icons/paper-airplane.png diff --git a/public/img/front-pages/icons/paper.svg b/public/img/icons/paper.svg similarity index 100% rename from public/img/front-pages/icons/paper.svg rename to public/img/icons/paper.svg diff --git a/public/img/front-pages/icons/plane.png b/public/img/icons/plane.png similarity index 100% rename from public/img/front-pages/icons/plane.png rename to public/img/icons/plane.png diff --git a/public/img/front-pages/icons/pricing-plans-arrow.png b/public/img/icons/pricing-plans-arrow.png similarity index 100% rename from public/img/front-pages/icons/pricing-plans-arrow.png rename to public/img/icons/pricing-plans-arrow.png diff --git a/public/img/front-pages/icons/rocket.svg b/public/img/icons/rocket.svg similarity index 100% rename from public/img/front-pages/icons/rocket.svg rename to public/img/icons/rocket.svg diff --git a/public/img/front-pages/icons/section-title-icon.png b/public/img/icons/section-title-icon.png similarity index 100% rename from public/img/front-pages/icons/section-title-icon.png rename to public/img/icons/section-title-icon.png diff --git a/public/img/front-pages/icons/shuttle-rocket.png b/public/img/icons/shuttle-rocket.png similarity index 100% rename from public/img/front-pages/icons/shuttle-rocket.png rename to public/img/icons/shuttle-rocket.png diff --git a/public/img/front-pages/icons/twitter.svg b/public/img/icons/twitter.svg similarity index 100% rename from public/img/front-pages/icons/twitter.svg rename to public/img/icons/twitter.svg diff --git a/public/img/front-pages/icons/user-success.svg b/public/img/icons/user-success.svg similarity index 100% rename from public/img/front-pages/icons/user-success.svg rename to public/img/icons/user-success.svg diff --git a/public/img/front-pages/icons/user.svg b/public/img/icons/user.svg similarity index 100% rename from public/img/front-pages/icons/user.svg rename to public/img/icons/user.svg diff --git a/public/img/front-pages/landing-page/faq-boy-with-logos.png b/public/img/illustrations/faq-boy-with-logos.png similarity index 100% rename from public/img/front-pages/landing-page/faq-boy-with-logos.png rename to public/img/illustrations/faq-boy-with-logos.png diff --git a/public/img/front-pages/landing-page/contact-customer-service.png b/public/img/images/contact-customer-service.png similarity index 100% rename from public/img/front-pages/landing-page/contact-customer-service.png rename to public/img/images/contact-customer-service.png diff --git a/public/img/front-pages/landing-page/team-member-1.png b/public/img/teams/team-member-1.png similarity index 100% rename from public/img/front-pages/landing-page/team-member-1.png rename to public/img/teams/team-member-1.png diff --git a/public/img/front-pages/landing-page/team-member-2.png b/public/img/teams/team-member-2.png similarity index 100% rename from public/img/front-pages/landing-page/team-member-2.png rename to public/img/teams/team-member-2.png diff --git a/public/img/front-pages/landing-page/team-member-3.png b/public/img/teams/team-member-3.png similarity index 100% rename from public/img/front-pages/landing-page/team-member-3.png rename to public/img/teams/team-member-3.png diff --git a/public/img/front-pages/landing-page/team-member-4.png b/public/img/teams/team-member-4.png similarity index 100% rename from public/img/front-pages/landing-page/team-member-4.png rename to public/img/teams/team-member-4.png diff --git a/src/components/Dashboard/AttendanceChart.jsx b/src/components/Dashboard/AttendanceChart.jsx index 01b62eed..3879c0e4 100644 --- a/src/components/Dashboard/AttendanceChart.jsx +++ b/src/components/Dashboard/AttendanceChart.jsx @@ -99,9 +99,7 @@ const AttendanceOverview = () => { }; return ( -
+
{/* Header */}
@@ -119,18 +117,22 @@ const AttendanceOverview = () => {
diff --git a/src/components/Directory/AssignedBucket.jsx b/src/components/Directory/AssignedBucket.jsx new file mode 100644 index 00000000..b0db2ef0 --- /dev/null +++ b/src/components/Directory/AssignedBucket.jsx @@ -0,0 +1,68 @@ +import { useState, useEffect } from "react"; +import EmployeeList from "./EmployeeList"; +import { useAllEmployees } from "../../hooks/useEmployees"; +import showToast from "../../services/toastService"; +import { DirectoryRepository } from "../../repositories/DirectoryRepository"; +import { useAssignEmpToBucket } from "../../hooks/useDirectory"; + +const AssignedBucket = ({ selectedBucket, handleClose }) => { + const { employeesList } = useAllEmployees(false); + const [selectedEmployees, setSelectedEmployees] = useState([]); + + useEffect(() => { + if (selectedBucket) { + const preselected = employeesList + .filter((emp) => selectedBucket?.employeeIds?.includes(emp.employeeId)) + .map((emp) => ({ ...emp, isActive: true })); + + setSelectedEmployees(preselected); + } + }, [selectedBucket, employeesList]); + + const { mutate: AssignEmployee, isPending } = useAssignEmpToBucket(() => + handleClose() + ); + + const handleSubmit = async (e) => { + e.preventDefault(); + + const existingEmployeeIds = selectedBucket?.employeeIds || []; + + const employeesToUpdate = selectedEmployees.filter((emp) => { + const isExisting = existingEmployeeIds.includes(emp.employeeId); + return (!isExisting && emp.isActive) || (isExisting && !emp.isActive); + }); + + if (employeesToUpdate.length === 0) { + showToast("No changes to update", "info"); + return; + } + + AssignEmployee({ + bucketId: selectedBucket.id, + EmployeePayload: employeesToUpdate.map((emp) => ({ + employeeId: emp.employeeId, + isActive: emp.isActive, + })), + }); + }; + + return ( +
+ + +
+ +
+ + ); +}; + +export default AssignedBucket; diff --git a/src/components/Directory/BucketForm.jsx b/src/components/Directory/BucketForm.jsx new file mode 100644 index 00000000..b45f17a0 --- /dev/null +++ b/src/components/Directory/BucketForm.jsx @@ -0,0 +1,95 @@ +import { useEffect } from "react"; +import { useForm } from "react-hook-form"; +import { bucketScheam } from "./DirectorySchema"; +import { zodResolver } from "@hookform/resolvers/zod"; +import Label from "../common/Label"; + +const BucketForm = ({ selectedBucket, mode, onSubmit, onCancel, isPending }) => { + const { + register, + handleSubmit, + reset, + formState: { errors }, + } = useForm({ + resolver: zodResolver(bucketScheam), + defaultValues: selectedBucket || { name: "", description: "" }, + }); + + useEffect(() => { + reset(selectedBucket || { name: "", description: "" }); + }, [selectedBucket, reset]); + + const isEditMode = mode === "edit"; + const isCreateMode = mode === "create"; + + return ( +
+
+ + + {/* Show edit toggle only for existing bucket in edit mode */} + {/* {isEditMode && ( + + )} */} +
+ + {(isCreateMode || isEditMode) ? ( +
+
+ + + {errors.name && ( + {errors.name.message} + )} +
+ +
+ +