diff --git a/public/assets/vendor/css/core.css b/public/assets/vendor/css/core.css index b5c63690..e7ebd248 100644 --- a/public/assets/vendor/css/core.css +++ b/public/assets/vendor/css/core.css @@ -3832,7 +3832,7 @@ fieldset:disabled .btn { --bs-dropdown-padding-x: 0; --bs-dropdown-padding-y: 0.5rem; --bs-dropdown-spacer: 0.125rem; - --bs-dropdown-font-size: 0.9375rem; + --bs-dropdown-font-size: 0.8125rem; --bs-dropdown-color: var(--bs-body-color); --bs-dropdown-bg: #fff; --bs-dropdown-border-color: #e4e6e8; diff --git a/src/components/Dashboard/Dashboard.jsx b/src/components/Dashboard/Dashboard.jsx index 617d7f24..b3b9dc68 100644 --- a/src/components/Dashboard/Dashboard.jsx +++ b/src/components/Dashboard/Dashboard.jsx @@ -1,7 +1,7 @@ -import React, { useState } from 'react'; -import HorizontalBarChart from '../Charts/HorizontalBarChart'; -import LineChart from '../Charts/LineChart'; -import { useProjects } from '../../hooks/useProjects'; +import React, { useState } from "react"; +import HorizontalBarChart from "../Charts/HorizontalBarChart"; +import LineChart from "../Charts/LineChart"; +import { useProjects } from "../../hooks/useProjects"; import { useDashboard_Data, useDashboardProjectsCardData, @@ -10,26 +10,34 @@ import { } from "../../hooks/useDashboard_Data"; const Dashboard = () => { - const { projects,loading } = useProjects(); - const [selectedProjectId, setSelectedProjectId] = useState('all'); - const [range, setRange] = useState('1W'); + const { projects, loading } = useProjects(); + const [selectedProjectId, setSelectedProjectId] = useState("all"); + const [range, setRange] = useState("1W"); const getDaysFromRange = (range) => { switch (range) { - case '1D': return 1; - case '1W': return 7; - case '15D': return 15; - case '1M': return 30; - case '3M': return 90; - case '1Y': return 365; - case '5Y': return 1825; - default: return 7; + case "1D": + return 1; + case "1W": + return 7; + case "15D": + return 15; + case "1M": + return 30; + case "3M": + return 90; + case "1Y": + return 365; + case "5Y": + return 1825; + default: + return 7; } }; const days = getDaysFromRange(range); const today = new Date(); - const FromDate = today.toISOString().split('T')[0]; // Always today + const FromDate = today.toISOString().split("T")[0]; // Always today const { projectsCardData } = useDashboardProjectsCardData(); const { teamsCardData } = useDashboardTeamsCardData(); @@ -38,54 +46,66 @@ const Dashboard = () => { const { dashboard_data, loading: isLineChartLoading } = useDashboard_Data({ days, FromDate, - projectId: selectedProjectId === 'all' ? 0 : selectedProjectId, + projectId: selectedProjectId === "all" ? 0 : selectedProjectId, }); // Sort dashboard_data by date ascending - const sortedDashboardData = [...dashboard_data].sort((a, b) => new Date(a.date) - new Date(b.date)); + const sortedDashboardData = [...dashboard_data].sort( + (a, b) => new Date(a.date) - new Date(b.date) + ); // Bar chart logic - const projectNames = projects?.map(p => p.name) || []; - const projectProgress = projects?.map(p => { - const completed = p.completedWork || 0; - const planned = p.plannedWork || 1; - const percent = (completed / planned) * 100; - return Math.min(Math.round(percent), 100); - }) || []; + const projectNames = projects?.map((p) => p.name) || []; + const projectProgress = + projects?.map((p) => { + const completed = p.completedWork || 0; + const planned = p.plannedWork || 1; + const percent = (completed / planned) * 100; + return Math.min(Math.round(percent), 100); + }) || []; // Line chart data const lineChartSeries = [ { - name: 'Planned Work', - data: sortedDashboardData.map(d => d.plannedTask || 0), + name: "Planned Work", + data: sortedDashboardData.map((d) => d.plannedTask || 0), }, { - name: 'Completed Work', - data: sortedDashboardData.map(d => d.completedTask || 0), + name: "Completed Work", + data: sortedDashboardData.map((d) => d.completedTask || 0), }, ]; - const lineChartCategories = sortedDashboardData.map(d => - new Date(d.date).toLocaleDateString('en-US', { month: 'short', day: 'numeric' }) + const lineChartCategories = sortedDashboardData.map((d) => + new Date(d.date).toLocaleDateString("en-US", { + month: "short", + day: "numeric", + }) ); return (