Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 

92 linhas
2.4 KiB

  1. import {
  2. fetchAssignedProjects,
  3. fetchProjectWithTasks,
  4. } from "@/app/api/projects";
  5. import UserWorkspacePage from "./UserWorkspacePage";
  6. import {
  7. fetchLeaveTypes,
  8. fetchLeaves,
  9. fetchTeamMemberLeaves,
  10. fetchTeamMemberTimesheets,
  11. fetchTimesheets,
  12. } from "@/app/api/timesheets";
  13. import { fetchHolidays } from "@/app/api/holidays";
  14. import { fetchUserAbilities, fetchUserStaff } from "@/app/utils/fetchUtil";
  15. import {
  16. MAINTAIN_TIMESHEET_FAST_TIME_ENTRY,
  17. MAINTAIN_NORMAL_STAFF_WORKSPACE,
  18. MAINTAIN_MANAGEMENT_STAFF_WORKSPACE,
  19. } from "@/middleware";
  20. import { fetchAllTasks } from "@/app/api/tasks";
  21. const UserWorkspaceWrapper: React.FC = async () => {
  22. const [
  23. teamLeaves,
  24. teamTimesheets,
  25. assignedProjects,
  26. allProjects,
  27. timesheets,
  28. leaves,
  29. leaveTypes,
  30. holidays,
  31. abilities,
  32. userStaff,
  33. allTasks,
  34. ] = await Promise.all([
  35. fetchTeamMemberLeaves(),
  36. fetchTeamMemberTimesheets(),
  37. fetchAssignedProjects(),
  38. fetchProjectWithTasks(),
  39. fetchTimesheets(),
  40. fetchLeaves(),
  41. fetchLeaveTypes(),
  42. fetchHolidays(),
  43. fetchUserAbilities(),
  44. fetchUserStaff(),
  45. fetchAllTasks(),
  46. ]);
  47. const fastEntryEnabled = abilities.includes(
  48. MAINTAIN_TIMESHEET_FAST_TIME_ENTRY,
  49. );
  50. const maintainNormalStaffWorkspaceAbility = abilities.includes(
  51. MAINTAIN_NORMAL_STAFF_WORKSPACE,
  52. );
  53. const maintainManagementStaffWorkspaceAbility = abilities.includes(
  54. MAINTAIN_MANAGEMENT_STAFF_WORKSPACE,
  55. );
  56. const isFullTime = userStaff?.employType === "FT";
  57. const miscTasks = allTasks.filter((t) => t.taskGroup.id === 5);
  58. const isSaturdayWorker = abilities.includes(SATURDAY_WORKERS)
  59. console.log(userStaff)
  60. return (
  61. <UserWorkspacePage
  62. joinDate={userStaff?.joinDate}
  63. isFullTime={isFullTime}
  64. teamLeaves={teamLeaves}
  65. teamTimesheets={teamTimesheets}
  66. allProjects={allProjects}
  67. assignedProjects={assignedProjects}
  68. defaultTimesheets={timesheets}
  69. defaultLeaveRecords={leaves}
  70. leaveTypes={leaveTypes}
  71. holidays={holidays}
  72. miscTasks={miscTasks}
  73. // Change to access check
  74. fastEntryEnabled={fastEntryEnabled}
  75. maintainNormalStaffWorkspaceAbility={maintainNormalStaffWorkspaceAbility}
  76. maintainManagementStaffWorkspaceAbility={
  77. maintainManagementStaffWorkspaceAbility
  78. }
  79. isSaturdayWorker={isSaturdayWorker}
  80. userId={userStaff?.id}
  81. />
  82. );
  83. };
  84. export default UserWorkspaceWrapper;