diff --git a/src/ui/App.tsx b/src/ui/App.tsx index fbbf871..72f3ab8 100644 --- a/src/ui/App.tsx +++ b/src/ui/App.tsx @@ -94,6 +94,7 @@ import Timesheets from "./pages/Timesheets/Timesheets"; import Settings from "./pages/Settings/Settings"; import HelpSupport from "./pages/HelpSupport/HelpSupport"; import Vpn from "./pages/Vpn/Vpn"; +import Schedule from "./pages/Schedule/Schedule"; const App: React.FC = () => { @@ -140,6 +141,7 @@ const App: React.FC = () => { } /> } /> } /> + } /> {/* Default Redirect */} diff --git a/src/ui/layout/DashboardLayout.tsx b/src/ui/layout/DashboardLayout.tsx index 0ef023d..4eef5d3 100644 --- a/src/ui/layout/DashboardLayout.tsx +++ b/src/ui/layout/DashboardLayout.tsx @@ -26,6 +26,7 @@ import { Play, ChevronUp, GlobeLock, + ClipboardClock, } from "lucide-react"; import { useActiveAppTracker } from "../hooks/useActiveAppTracker"; import { useDispatch, useSelector } from "react-redux"; @@ -111,6 +112,7 @@ const DashboardLayout = () => { { label: "Dashboard", path: "/dashboard", icon: , exact: true }, { label: "Timesheet", path: "/dashboard/timesheet", icon: }, { label: "Leave & Adjust", path: "/dashboard/leave-adjustments", icon: }, + { label: "Schedule", path: "/dashboard/schedule", icon: }, { label: "Settings", path: "/dashboard/settings", icon: }, { label: "VPN", path: "/dashboard/vpn", icon: }, { label: "Help & Support", path: "/dashboard/help-support", icon: }, diff --git a/src/ui/pages/Schedule/Schedule.tsx b/src/ui/pages/Schedule/Schedule.tsx new file mode 100644 index 0000000..36fdcfb --- /dev/null +++ b/src/ui/pages/Schedule/Schedule.tsx @@ -0,0 +1,100 @@ +const Schedule = () => { + const rows = [ + { + period: "Oct 25, 2025 to Nov 07, 2025", + cutoff: "Nov 11, 2025 05:29:59 AM", + payDate: "Nov 14, 2025" + }, + { + period: "Nov 08, 2025 to Nov 21, 2025", + cutoff: "Nov 25, 2025 05:29:59 AM", + payDate: "Nov 28, 2025" + }, + { + period: "Nov 22, 2025 to Dec 05, 2025", + cutoff: "Dec 09, 2025 05:29:59 AM", + payDate: "Dec 12, 2025" + }, + { + period: "Dec 06, 2025 to Dec 19, 2025", + cutoff: "Dec 23, 2025 05:29:59 AM", + payDate: "Dec 26, 2025" + }, + { + period: "Dec 20, 2025 to Jan 02, 2026", + cutoff: "Jan 06, 2026 05:29:59 AM", + payDate: "Jan 09, 2026" + }, + { + period: "Jan 03, 2026 to Jan 16, 2026", + cutoff: "Jan 20, 2026 05:29:59 AM", + payDate: "Jan 23, 2026" + }, + { + period: "Jan 17, 2026 to Jan 30, 2026", + cutoff: "Feb 03, 2026 05:29:59 AM", + payDate: "Feb 06, 2026" + }, + { + period: "Jan 31, 2026 to Feb 13, 2026", + cutoff: "Feb 17, 2026 05:29:59 AM", + payDate: "Feb 20, 2026" + }, + { + period: "Feb 14, 2026 to Feb 27, 2026", + cutoff: "Mar 03, 2026 05:29:59 AM", + payDate: "Mar 06, 2026" + }, + { + period: "Feb 28, 2026 to Mar 13, 2026", + cutoff: "Mar 17, 2026 05:29:59 AM", + payDate: "Mar 20, 2026" + } + ]; + + return ( + <> +
+ {/* Header */} +
+

Schedules

+
+ +
+ + {/* ⭐ FIXED: Horizontal scroll wrapper */} +
+ + + + + + + + + + + + {rows.map((row, index) => ( + + + + + + + ))} + +
#PeriodCutoff TimePay Date
{index + 1}{row.period} + {row.cutoff} +
+ (Asia/Calcutta) +
{row.payDate}
+
+ +
+
+ + ); +}; + +export default Schedule;