@hed-hog/operations 0.0.328 → 0.0.330

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (596) hide show
  1. package/dist/controllers/operations-tasks.controller.d.ts +5 -5
  2. package/dist/operations.service.d.ts +5 -5
  3. package/dist/operations.service.d.ts.map +1 -1
  4. package/dist/operations.service.js +24 -4
  5. package/dist/operations.service.js.map +1 -1
  6. package/dist/operations.service.spec.js +1 -1
  7. package/dist/operations.service.spec.js.map +1 -1
  8. package/hedhog/data/dashboard_component_role.yaml +8 -8
  9. package/hedhog/data/dashboard_role.yaml +1 -1
  10. package/hedhog/data/menu.yaml +6 -16
  11. package/hedhog/data/role.yaml +1 -1
  12. package/hedhog/data/route.yaml +55 -55
  13. package/hedhog/frontend/app/_components/async-options-combobox.tsx.ejs +15 -9
  14. package/hedhog/frontend/app/_components/collaborator-form-screen.tsx.ejs +7 -7
  15. package/hedhog/frontend/app/_components/department-picker.tsx.ejs +125 -0
  16. package/hedhog/frontend/app/_components/department-select-with-create.tsx.ejs +64 -325
  17. package/hedhog/frontend/app/_components/project-costs-section.tsx.ejs +51 -81
  18. package/hedhog/frontend/app/_components/project-details-screen.tsx.ejs +39 -11
  19. package/hedhog/frontend/app/_components/project-form-screen.tsx.ejs +37 -20
  20. package/hedhog/frontend/app/_components/system-user-picker.tsx.ejs +198 -0
  21. package/hedhog/frontend/app/_components/system-user-select-with-create.tsx.ejs +107 -569
  22. package/hedhog/frontend/app/_components/task-file-attachments.tsx.ejs +10 -8
  23. package/hedhog/frontend/app/_lib/hooks/use-values-visibility.ts.ejs +61 -0
  24. package/hedhog/frontend/app/approvals/page.tsx.ejs +5 -1
  25. package/hedhog/frontend/app/collaborators/page.tsx.ejs +68 -34
  26. package/hedhog/frontend/app/my-projects/page.tsx.ejs +45 -6
  27. package/hedhog/frontend/app/my-tasks/page.tsx.ejs +1 -1
  28. package/hedhog/frontend/app/projects/page.tsx.ejs +60 -5
  29. package/hedhog/frontend/app/reports/collaborators/page.tsx.ejs +65 -52
  30. package/hedhog/frontend/app/reports/projects/page.tsx.ejs +80 -82
  31. package/hedhog/frontend/app/schedule-adjustments/page.tsx.ejs +7 -1
  32. package/hedhog/frontend/messages/en.json +284 -8
  33. package/hedhog/frontend/messages/operations/en.json +67 -3
  34. package/hedhog/frontend/messages/operations/pt.json +67 -3
  35. package/hedhog/frontend/messages/pt.json +282 -6
  36. package/package.json +5 -5
  37. package/src/operations.service.spec.ts +1 -1
  38. package/src/operations.service.ts +25 -5
  39. package/hedhog/frontend/app/_components/collaborator-details-screen.tsx.ejs +0 -476
  40. package/hedhog/frontend/app/_components/collaborator-select-with-create.tsx.ejs +0 -261
  41. package/hedhog/frontend/app/_components/contract-content-editor.tsx.ejs +0 -258
  42. package/hedhog/frontend/app/_components/person-select-with-create.tsx.ejs +0 -1
  43. package/hedhog/frontend/messages/en.json.ejs +0 -2060
  44. package/hedhog/frontend/messages/operations/operations/en.json +0 -2102
  45. package/hedhog/frontend/messages/operations/operations/pt.json +0 -2111
  46. package/hedhog/frontend/messages/pt.json.ejs +0 -2067
  47. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/async-options-combobox.d.ts +0 -29
  48. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/async-options-combobox.d.ts.map +0 -1
  49. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/async-options-combobox.js +0 -95
  50. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/async-options-combobox.js.map +0 -1
  51. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/async-options-combobox.tsx +0 -233
  52. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-costs-section.d.ts +0 -10
  53. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-costs-section.d.ts.map +0 -1
  54. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-costs-section.js +0 -577
  55. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-costs-section.js.map +0 -1
  56. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-costs-section.tsx +0 -868
  57. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-details-screen.d.ts +0 -4
  58. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-details-screen.d.ts.map +0 -1
  59. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-details-screen.js +0 -337
  60. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-details-screen.js.map +0 -1
  61. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-details-screen.tsx +0 -476
  62. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-form-screen.d.ts +0 -9
  63. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-form-screen.d.ts.map +0 -1
  64. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-form-screen.js +0 -1348
  65. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-form-screen.js.map +0 -1
  66. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-form-screen.tsx +0 -2233
  67. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-select-with-create.d.ts +0 -12
  68. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-select-with-create.d.ts.map +0 -1
  69. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-select-with-create.js +0 -162
  70. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-select-with-create.js.map +0 -1
  71. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/collaborator-select-with-create.tsx +0 -261
  72. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-content-editor.d.ts +0 -18
  73. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-content-editor.d.ts.map +0 -1
  74. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-content-editor.js +0 -145
  75. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-content-editor.js.map +0 -1
  76. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-content-editor.tsx +0 -258
  77. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-details-screen.d.ts +0 -4
  78. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-details-screen.d.ts.map +0 -1
  79. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-details-screen.js +0 -223
  80. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-details-screen.js.map +0 -1
  81. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-details-screen.tsx +0 -342
  82. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-form-screen.d.ts +0 -58
  83. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-form-screen.d.ts.map +0 -1
  84. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-form-screen.js +0 -438
  85. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-form-screen.js.map +0 -1
  86. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/contract-form-screen.tsx +0 -698
  87. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/department-select-with-create.d.ts +0 -20
  88. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/department-select-with-create.d.ts.map +0 -1
  89. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/department-select-with-create.js +0 -233
  90. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/department-select-with-create.js.map +0 -1
  91. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/department-select-with-create.tsx +0 -392
  92. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/my-project-summary-screen.d.ts +0 -4
  93. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/my-project-summary-screen.d.ts.map +0 -1
  94. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/my-project-summary-screen.js +0 -814
  95. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/my-project-summary-screen.js.map +0 -1
  96. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/my-project-summary-screen.tsx +0 -1288
  97. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-calendar-view.d.ts +0 -21
  98. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-calendar-view.d.ts.map +0 -1
  99. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-calendar-view.js +0 -174
  100. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-calendar-view.js.map +0 -1
  101. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-calendar-view.tsx +0 -306
  102. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-header.d.ts +0 -10
  103. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-header.d.ts.map +0 -1
  104. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-header.js +0 -12
  105. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-header.js.map +0 -1
  106. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/operations-header.tsx +0 -29
  107. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/person-select-with-create.d.ts +0 -15
  108. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/person-select-with-create.d.ts.map +0 -1
  109. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/person-select-with-create.js +0 -501
  110. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/person-select-with-create.js.map +0 -1
  111. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/person-select-with-create.tsx +0 -853
  112. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-costs-section.d.ts +0 -6
  113. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-costs-section.d.ts.map +0 -1
  114. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-costs-section.js +0 -847
  115. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-costs-section.js.map +0 -1
  116. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-costs-section.tsx +0 -1340
  117. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-details-screen.d.ts +0 -4
  118. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-details-screen.d.ts.map +0 -1
  119. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-details-screen.js +0 -2930
  120. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-details-screen.js.map +0 -1
  121. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-details-screen.tsx +0 -4378
  122. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-form-screen.d.ts +0 -9
  123. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-form-screen.d.ts.map +0 -1
  124. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-form-screen.js +0 -1013
  125. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-form-screen.js.map +0 -1
  126. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/project-form-screen.tsx +0 -1745
  127. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/section-card.d.ts +0 -13
  128. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/section-card.d.ts.map +0 -1
  129. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/section-card.js +0 -38
  130. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/section-card.js.map +0 -1
  131. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/section-card.tsx +0 -74
  132. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/status-badge.d.ts +0 -7
  133. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/status-badge.d.ts.map +0 -1
  134. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/status-badge.js +0 -11
  135. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/status-badge.js.map +0 -1
  136. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/status-badge.tsx +0 -15
  137. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/system-user-select-with-create.d.ts +0 -18
  138. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/system-user-select-with-create.d.ts.map +0 -1
  139. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/system-user-select-with-create.js +0 -406
  140. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/system-user-select-with-create.js.map +0 -1
  141. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/system-user-select-with-create.tsx +0 -660
  142. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-detail-sheet.d.ts +0 -26
  143. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-detail-sheet.d.ts.map +0 -1
  144. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-detail-sheet.js +0 -332
  145. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-detail-sheet.js.map +0 -1
  146. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-detail-sheet.tsx +0 -518
  147. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-file-attachments.d.ts +0 -6
  148. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-file-attachments.d.ts.map +0 -1
  149. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-file-attachments.js +0 -255
  150. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-file-attachments.js.map +0 -1
  151. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/task-file-attachments.tsx +0 -388
  152. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/timesheet-task-create-sheet.d.ts +0 -10
  153. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/timesheet-task-create-sheet.d.ts.map +0 -1
  154. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/timesheet-task-create-sheet.js +0 -131
  155. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/timesheet-task-create-sheet.js.map +0 -1
  156. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_components/timesheet-task-create-sheet.tsx +0 -214
  157. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/api.d.ts +0 -108
  158. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/api.d.ts.map +0 -1
  159. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/api.js +0 -162
  160. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/api.js.map +0 -1
  161. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/api.ts +0 -428
  162. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/hooks/use-operations-access.d.ts +0 -8
  163. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/hooks/use-operations-access.d.ts.map +0 -1
  164. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/hooks/use-operations-access.js +0 -36
  165. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/hooks/use-operations-access.js.map +0 -1
  166. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/hooks/use-operations-access.ts +0 -44
  167. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/types.d.ts +0 -837
  168. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/types.d.ts.map +0 -1
  169. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/types.js +0 -3
  170. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/types.js.map +0 -1
  171. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/types.ts +0 -861
  172. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/format.d.ts +0 -16
  173. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/format.d.ts.map +0 -1
  174. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/format.js +0 -182
  175. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/format.js.map +0 -1
  176. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/format.ts +0 -250
  177. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/forms.d.ts +0 -4
  178. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/forms.d.ts.map +0 -1
  179. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/forms.js +0 -51
  180. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/forms.js.map +0 -1
  181. package/hedhog/frontend/src/app/(app)/(libraries)/operations/_lib/utils/forms.ts +0 -61
  182. package/hedhog/frontend/src/app/(app)/(libraries)/operations/approvals/page.d.ts +0 -2
  183. package/hedhog/frontend/src/app/(app)/(libraries)/operations/approvals/page.d.ts.map +0 -1
  184. package/hedhog/frontend/src/app/(app)/(libraries)/operations/approvals/page.js +0 -954
  185. package/hedhog/frontend/src/app/(app)/(libraries)/operations/approvals/page.js.map +0 -1
  186. package/hedhog/frontend/src/app/(app)/(libraries)/operations/approvals/page.tsx +0 -1277
  187. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborator-types/page.d.ts +0 -2
  188. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborator-types/page.d.ts.map +0 -1
  189. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborator-types/page.js +0 -488
  190. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborator-types/page.js.map +0 -1
  191. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborator-types/page.tsx +0 -805
  192. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/edit/page.d.ts +0 -6
  193. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/edit/page.d.ts.map +0 -1
  194. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/edit/page.js +0 -9
  195. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/edit/page.js.map +0 -1
  196. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/edit/page.tsx +0 -11
  197. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/page.d.ts +0 -6
  198. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/page.d.ts.map +0 -1
  199. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/page.js +0 -9
  200. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/page.js.map +0 -1
  201. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/[id]/page.tsx +0 -11
  202. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/new/page.d.ts +0 -2
  203. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/new/page.d.ts.map +0 -1
  204. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/new/page.js +0 -8
  205. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/new/page.js.map +0 -1
  206. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/new/page.tsx +0 -5
  207. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/page.d.ts +0 -2
  208. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/page.d.ts.map +0 -1
  209. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/page.js +0 -612
  210. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/page.js.map +0 -1
  211. package/hedhog/frontend/src/app/(app)/(libraries)/operations/collaborators/page.tsx +0 -939
  212. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/edit/page.d.ts +0 -6
  213. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/edit/page.d.ts.map +0 -1
  214. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/edit/page.js +0 -9
  215. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/edit/page.js.map +0 -1
  216. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/edit/page.tsx +0 -11
  217. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/page.d.ts +0 -6
  218. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/page.d.ts.map +0 -1
  219. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/page.js +0 -9
  220. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/page.js.map +0 -1
  221. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/[id]/page.tsx +0 -11
  222. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/new/page.d.ts +0 -6
  223. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/new/page.d.ts.map +0 -1
  224. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/new/page.js +0 -9
  225. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/new/page.js.map +0 -1
  226. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/new/page.tsx +0 -17
  227. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/page.d.ts +0 -2
  228. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/page.d.ts.map +0 -1
  229. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/page.js +0 -348
  230. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/page.js.map +0 -1
  231. package/hedhog/frontend/src/app/(app)/(libraries)/operations/contracts/page.tsx +0 -536
  232. package/hedhog/frontend/src/app/(app)/(libraries)/operations/departments/page.d.ts +0 -2
  233. package/hedhog/frontend/src/app/(app)/(libraries)/operations/departments/page.d.ts.map +0 -1
  234. package/hedhog/frontend/src/app/(app)/(libraries)/operations/departments/page.js +0 -401
  235. package/hedhog/frontend/src/app/(app)/(libraries)/operations/departments/page.js.map +0 -1
  236. package/hedhog/frontend/src/app/(app)/(libraries)/operations/departments/page.tsx +0 -607
  237. package/hedhog/frontend/src/app/(app)/(libraries)/operations/layout.d.ts +0 -5
  238. package/hedhog/frontend/src/app/(app)/(libraries)/operations/layout.d.ts.map +0 -1
  239. package/hedhog/frontend/src/app/(app)/(libraries)/operations/layout.js +0 -7
  240. package/hedhog/frontend/src/app/(app)/(libraries)/operations/layout.js.map +0 -1
  241. package/hedhog/frontend/src/app/(app)/(libraries)/operations/layout.tsx +0 -9
  242. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/[id]/page.d.ts +0 -6
  243. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/[id]/page.d.ts.map +0 -1
  244. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/[id]/page.js +0 -9
  245. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/[id]/page.js.map +0 -1
  246. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/[id]/page.tsx +0 -11
  247. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/page.d.ts +0 -2
  248. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/page.d.ts.map +0 -1
  249. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/page.js +0 -321
  250. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/page.js.map +0 -1
  251. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-projects/page.tsx +0 -440
  252. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-tasks/page.d.ts +0 -2
  253. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-tasks/page.d.ts.map +0 -1
  254. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-tasks/page.js +0 -939
  255. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-tasks/page.js.map +0 -1
  256. package/hedhog/frontend/src/app/(app)/(libraries)/operations/my-tasks/page.tsx +0 -1499
  257. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/async-options-combobox.d.ts +0 -29
  258. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/async-options-combobox.d.ts.map +0 -1
  259. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/async-options-combobox.js +0 -95
  260. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/async-options-combobox.js.map +0 -1
  261. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/async-options-combobox.tsx +0 -233
  262. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-costs-section.d.ts +0 -10
  263. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-costs-section.d.ts.map +0 -1
  264. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-costs-section.js +0 -577
  265. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-costs-section.js.map +0 -1
  266. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-costs-section.tsx +0 -868
  267. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-details-screen.d.ts +0 -4
  268. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-details-screen.d.ts.map +0 -1
  269. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-details-screen.js +0 -337
  270. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-details-screen.js.map +0 -1
  271. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-details-screen.tsx +0 -476
  272. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-form-screen.d.ts +0 -9
  273. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-form-screen.d.ts.map +0 -1
  274. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-form-screen.js +0 -1348
  275. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-form-screen.js.map +0 -1
  276. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-form-screen.tsx +0 -2233
  277. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-select-with-create.d.ts +0 -12
  278. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-select-with-create.d.ts.map +0 -1
  279. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-select-with-create.js +0 -162
  280. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-select-with-create.js.map +0 -1
  281. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/collaborator-select-with-create.tsx +0 -261
  282. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-content-editor.d.ts +0 -18
  283. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-content-editor.d.ts.map +0 -1
  284. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-content-editor.js +0 -145
  285. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-content-editor.js.map +0 -1
  286. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-content-editor.tsx +0 -258
  287. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-details-screen.d.ts +0 -4
  288. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-details-screen.d.ts.map +0 -1
  289. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-details-screen.js +0 -223
  290. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-details-screen.js.map +0 -1
  291. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-details-screen.tsx +0 -342
  292. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-form-screen.d.ts +0 -58
  293. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-form-screen.d.ts.map +0 -1
  294. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-form-screen.js +0 -438
  295. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-form-screen.js.map +0 -1
  296. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/contract-form-screen.tsx +0 -698
  297. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/department-select-with-create.d.ts +0 -20
  298. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/department-select-with-create.d.ts.map +0 -1
  299. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/department-select-with-create.js +0 -233
  300. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/department-select-with-create.js.map +0 -1
  301. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/department-select-with-create.tsx +0 -392
  302. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/my-project-summary-screen.d.ts +0 -4
  303. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/my-project-summary-screen.d.ts.map +0 -1
  304. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/my-project-summary-screen.js +0 -814
  305. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/my-project-summary-screen.js.map +0 -1
  306. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/my-project-summary-screen.tsx +0 -1288
  307. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-calendar-view.d.ts +0 -21
  308. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-calendar-view.d.ts.map +0 -1
  309. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-calendar-view.js +0 -174
  310. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-calendar-view.js.map +0 -1
  311. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-calendar-view.tsx +0 -306
  312. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-header.d.ts +0 -10
  313. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-header.d.ts.map +0 -1
  314. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-header.js +0 -12
  315. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-header.js.map +0 -1
  316. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/operations-header.tsx +0 -29
  317. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/person-select-with-create.d.ts +0 -15
  318. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/person-select-with-create.d.ts.map +0 -1
  319. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/person-select-with-create.js +0 -501
  320. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/person-select-with-create.js.map +0 -1
  321. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/person-select-with-create.tsx +0 -853
  322. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-cost-report-screen.d.ts +0 -6
  323. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-cost-report-screen.d.ts.map +0 -1
  324. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-cost-report-screen.js +0 -459
  325. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-cost-report-screen.js.map +0 -1
  326. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-cost-report-screen.tsx +0 -598
  327. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-costs-section.d.ts +0 -6
  328. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-costs-section.d.ts.map +0 -1
  329. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-costs-section.js +0 -876
  330. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-costs-section.js.map +0 -1
  331. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-costs-section.tsx +0 -1368
  332. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-details-screen.d.ts +0 -4
  333. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-details-screen.d.ts.map +0 -1
  334. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-details-screen.js +0 -2930
  335. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-details-screen.js.map +0 -1
  336. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-details-screen.tsx +0 -4378
  337. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-form-screen.d.ts +0 -9
  338. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-form-screen.d.ts.map +0 -1
  339. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-form-screen.js +0 -1013
  340. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-form-screen.js.map +0 -1
  341. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/project-form-screen.tsx +0 -1745
  342. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/section-card.d.ts +0 -13
  343. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/section-card.d.ts.map +0 -1
  344. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/section-card.js +0 -38
  345. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/section-card.js.map +0 -1
  346. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/section-card.tsx +0 -74
  347. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/status-badge.d.ts +0 -7
  348. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/status-badge.d.ts.map +0 -1
  349. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/status-badge.js +0 -11
  350. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/status-badge.js.map +0 -1
  351. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/status-badge.tsx +0 -15
  352. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/system-user-select-with-create.d.ts +0 -18
  353. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/system-user-select-with-create.d.ts.map +0 -1
  354. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/system-user-select-with-create.js +0 -406
  355. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/system-user-select-with-create.js.map +0 -1
  356. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/system-user-select-with-create.tsx +0 -660
  357. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-detail-sheet.d.ts +0 -26
  358. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-detail-sheet.d.ts.map +0 -1
  359. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-detail-sheet.js +0 -332
  360. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-detail-sheet.js.map +0 -1
  361. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-detail-sheet.tsx +0 -518
  362. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-file-attachments.d.ts +0 -6
  363. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-file-attachments.d.ts.map +0 -1
  364. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-file-attachments.js +0 -255
  365. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-file-attachments.js.map +0 -1
  366. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/task-file-attachments.tsx +0 -388
  367. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/timesheet-task-create-sheet.d.ts +0 -10
  368. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/timesheet-task-create-sheet.d.ts.map +0 -1
  369. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/timesheet-task-create-sheet.js +0 -131
  370. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/timesheet-task-create-sheet.js.map +0 -1
  371. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_components/timesheet-task-create-sheet.tsx +0 -214
  372. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/api.d.ts +0 -108
  373. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/api.d.ts.map +0 -1
  374. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/api.js +0 -162
  375. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/api.js.map +0 -1
  376. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/api.ts +0 -428
  377. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/hooks/use-operations-access.d.ts +0 -8
  378. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/hooks/use-operations-access.d.ts.map +0 -1
  379. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/hooks/use-operations-access.js +0 -36
  380. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/hooks/use-operations-access.js.map +0 -1
  381. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/hooks/use-operations-access.ts +0 -44
  382. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/types.d.ts +0 -837
  383. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/types.d.ts.map +0 -1
  384. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/types.js +0 -3
  385. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/types.js.map +0 -1
  386. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/types.ts +0 -861
  387. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/format.d.ts +0 -16
  388. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/format.d.ts.map +0 -1
  389. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/format.js +0 -182
  390. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/format.js.map +0 -1
  391. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/format.ts +0 -250
  392. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/forms.d.ts +0 -4
  393. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/forms.d.ts.map +0 -1
  394. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/forms.js +0 -51
  395. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/forms.js.map +0 -1
  396. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/_lib/utils/forms.ts +0 -61
  397. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/approvals/page.d.ts +0 -2
  398. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/approvals/page.d.ts.map +0 -1
  399. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/approvals/page.js +0 -954
  400. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/approvals/page.js.map +0 -1
  401. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/approvals/page.tsx +0 -1277
  402. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborator-types/page.d.ts +0 -2
  403. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborator-types/page.d.ts.map +0 -1
  404. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborator-types/page.js +0 -488
  405. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborator-types/page.js.map +0 -1
  406. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborator-types/page.tsx +0 -805
  407. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/edit/page.d.ts +0 -6
  408. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/edit/page.d.ts.map +0 -1
  409. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/edit/page.js +0 -9
  410. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/edit/page.js.map +0 -1
  411. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/edit/page.tsx +0 -11
  412. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/page.d.ts +0 -6
  413. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/page.d.ts.map +0 -1
  414. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/page.js +0 -9
  415. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/page.js.map +0 -1
  416. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/[id]/page.tsx +0 -11
  417. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/new/page.d.ts +0 -2
  418. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/new/page.d.ts.map +0 -1
  419. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/new/page.js +0 -8
  420. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/new/page.js.map +0 -1
  421. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/new/page.tsx +0 -5
  422. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/page.d.ts +0 -2
  423. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/page.d.ts.map +0 -1
  424. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/page.js +0 -612
  425. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/page.js.map +0 -1
  426. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/collaborators/page.tsx +0 -939
  427. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/edit/page.d.ts +0 -6
  428. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/edit/page.d.ts.map +0 -1
  429. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/edit/page.js +0 -9
  430. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/edit/page.js.map +0 -1
  431. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/edit/page.tsx +0 -11
  432. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/page.d.ts +0 -6
  433. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/page.d.ts.map +0 -1
  434. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/page.js +0 -9
  435. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/page.js.map +0 -1
  436. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/[id]/page.tsx +0 -11
  437. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/new/page.d.ts +0 -6
  438. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/new/page.d.ts.map +0 -1
  439. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/new/page.js +0 -9
  440. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/new/page.js.map +0 -1
  441. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/new/page.tsx +0 -17
  442. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/page.d.ts +0 -2
  443. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/page.d.ts.map +0 -1
  444. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/page.js +0 -348
  445. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/page.js.map +0 -1
  446. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/contracts/page.tsx +0 -536
  447. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/departments/page.d.ts +0 -2
  448. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/departments/page.d.ts.map +0 -1
  449. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/departments/page.js +0 -401
  450. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/departments/page.js.map +0 -1
  451. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/departments/page.tsx +0 -607
  452. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/layout.d.ts +0 -5
  453. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/layout.d.ts.map +0 -1
  454. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/layout.js +0 -7
  455. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/layout.js.map +0 -1
  456. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/layout.tsx +0 -9
  457. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/[id]/page.d.ts +0 -6
  458. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/[id]/page.d.ts.map +0 -1
  459. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/[id]/page.js +0 -9
  460. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/[id]/page.js.map +0 -1
  461. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/[id]/page.tsx +0 -11
  462. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/page.d.ts +0 -2
  463. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/page.d.ts.map +0 -1
  464. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/page.js +0 -321
  465. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/page.js.map +0 -1
  466. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-projects/page.tsx +0 -440
  467. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-tasks/page.d.ts +0 -2
  468. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-tasks/page.d.ts.map +0 -1
  469. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-tasks/page.js +0 -939
  470. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-tasks/page.js.map +0 -1
  471. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/my-tasks/page.tsx +0 -1499
  472. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/page.d.ts +0 -2
  473. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/page.d.ts.map +0 -1
  474. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/page.js +0 -8
  475. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/page.js.map +0 -1
  476. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/page.tsx +0 -5
  477. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-categories/page.d.ts +0 -2
  478. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-categories/page.d.ts.map +0 -1
  479. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-categories/page.js +0 -436
  480. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-categories/page.js.map +0 -1
  481. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-categories/page.tsx +0 -675
  482. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-types/page.d.ts +0 -2
  483. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-types/page.d.ts.map +0 -1
  484. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-types/page.js +0 -563
  485. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-types/page.js.map +0 -1
  486. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/project-cost-types/page.tsx +0 -846
  487. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/costs-report/page.d.ts +0 -6
  488. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/costs-report/page.d.ts.map +0 -1
  489. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/costs-report/page.js +0 -9
  490. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/costs-report/page.js.map +0 -1
  491. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/costs-report/page.tsx +0 -10
  492. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/edit/page.d.ts +0 -6
  493. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/edit/page.d.ts.map +0 -1
  494. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/edit/page.js +0 -9
  495. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/edit/page.js.map +0 -1
  496. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/edit/page.tsx +0 -11
  497. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/page.d.ts +0 -6
  498. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/page.d.ts.map +0 -1
  499. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/page.js +0 -9
  500. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/page.js.map +0 -1
  501. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/[id]/page.tsx +0 -11
  502. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/new/page.d.ts +0 -2
  503. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/new/page.d.ts.map +0 -1
  504. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/new/page.js +0 -8
  505. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/new/page.js.map +0 -1
  506. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/new/page.tsx +0 -5
  507. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/page.d.ts +0 -2
  508. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/page.d.ts.map +0 -1
  509. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/page.js +0 -492
  510. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/page.js.map +0 -1
  511. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/projects/page.tsx +0 -757
  512. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/collaborators/page.d.ts +0 -2
  513. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/collaborators/page.d.ts.map +0 -1
  514. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/collaborators/page.js +0 -342
  515. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/collaborators/page.js.map +0 -1
  516. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/collaborators/page.tsx +0 -430
  517. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/projects/page.d.ts +0 -2
  518. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/projects/page.d.ts.map +0 -1
  519. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/projects/page.js +0 -338
  520. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/projects/page.js.map +0 -1
  521. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/reports/projects/page.tsx +0 -428
  522. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/schedule-adjustments/page.d.ts +0 -2
  523. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/schedule-adjustments/page.d.ts.map +0 -1
  524. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/schedule-adjustments/page.js +0 -660
  525. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/schedule-adjustments/page.js.map +0 -1
  526. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/schedule-adjustments/page.tsx +0 -992
  527. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/time-off/page.d.ts +0 -2
  528. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/time-off/page.d.ts.map +0 -1
  529. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/time-off/page.js +0 -515
  530. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/time-off/page.js.map +0 -1
  531. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/time-off/page.tsx +0 -707
  532. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/timesheets/page.d.ts +0 -2
  533. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/timesheets/page.d.ts.map +0 -1
  534. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/timesheets/page.js +0 -1141
  535. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/timesheets/page.js.map +0 -1
  536. package/hedhog/frontend/src/app/(app)/(libraries)/operations/operations/timesheets/page.tsx +0 -1705
  537. package/hedhog/frontend/src/app/(app)/(libraries)/operations/page.d.ts +0 -2
  538. package/hedhog/frontend/src/app/(app)/(libraries)/operations/page.d.ts.map +0 -1
  539. package/hedhog/frontend/src/app/(app)/(libraries)/operations/page.js +0 -8
  540. package/hedhog/frontend/src/app/(app)/(libraries)/operations/page.js.map +0 -1
  541. package/hedhog/frontend/src/app/(app)/(libraries)/operations/page.tsx +0 -5
  542. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-categories/page.d.ts +0 -2
  543. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-categories/page.d.ts.map +0 -1
  544. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-categories/page.js +0 -436
  545. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-categories/page.js.map +0 -1
  546. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-categories/page.tsx +0 -675
  547. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-types/page.d.ts +0 -2
  548. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-types/page.d.ts.map +0 -1
  549. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-types/page.js +0 -563
  550. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-types/page.js.map +0 -1
  551. package/hedhog/frontend/src/app/(app)/(libraries)/operations/project-cost-types/page.tsx +0 -846
  552. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/edit/page.d.ts +0 -6
  553. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/edit/page.d.ts.map +0 -1
  554. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/edit/page.js +0 -9
  555. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/edit/page.js.map +0 -1
  556. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/edit/page.tsx +0 -11
  557. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/page.d.ts +0 -6
  558. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/page.d.ts.map +0 -1
  559. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/page.js +0 -9
  560. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/page.js.map +0 -1
  561. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/[id]/page.tsx +0 -11
  562. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/new/page.d.ts +0 -2
  563. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/new/page.d.ts.map +0 -1
  564. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/new/page.js +0 -8
  565. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/new/page.js.map +0 -1
  566. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/new/page.tsx +0 -5
  567. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/page.d.ts +0 -2
  568. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/page.d.ts.map +0 -1
  569. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/page.js +0 -492
  570. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/page.js.map +0 -1
  571. package/hedhog/frontend/src/app/(app)/(libraries)/operations/projects/page.tsx +0 -757
  572. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/collaborators/page.d.ts +0 -2
  573. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/collaborators/page.d.ts.map +0 -1
  574. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/collaborators/page.js +0 -342
  575. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/collaborators/page.js.map +0 -1
  576. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/collaborators/page.tsx +0 -430
  577. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/projects/page.d.ts +0 -2
  578. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/projects/page.d.ts.map +0 -1
  579. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/projects/page.js +0 -338
  580. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/projects/page.js.map +0 -1
  581. package/hedhog/frontend/src/app/(app)/(libraries)/operations/reports/projects/page.tsx +0 -428
  582. package/hedhog/frontend/src/app/(app)/(libraries)/operations/schedule-adjustments/page.d.ts +0 -2
  583. package/hedhog/frontend/src/app/(app)/(libraries)/operations/schedule-adjustments/page.d.ts.map +0 -1
  584. package/hedhog/frontend/src/app/(app)/(libraries)/operations/schedule-adjustments/page.js +0 -660
  585. package/hedhog/frontend/src/app/(app)/(libraries)/operations/schedule-adjustments/page.js.map +0 -1
  586. package/hedhog/frontend/src/app/(app)/(libraries)/operations/schedule-adjustments/page.tsx +0 -992
  587. package/hedhog/frontend/src/app/(app)/(libraries)/operations/time-off/page.d.ts +0 -2
  588. package/hedhog/frontend/src/app/(app)/(libraries)/operations/time-off/page.d.ts.map +0 -1
  589. package/hedhog/frontend/src/app/(app)/(libraries)/operations/time-off/page.js +0 -515
  590. package/hedhog/frontend/src/app/(app)/(libraries)/operations/time-off/page.js.map +0 -1
  591. package/hedhog/frontend/src/app/(app)/(libraries)/operations/time-off/page.tsx +0 -707
  592. package/hedhog/frontend/src/app/(app)/(libraries)/operations/timesheets/page.d.ts +0 -2
  593. package/hedhog/frontend/src/app/(app)/(libraries)/operations/timesheets/page.d.ts.map +0 -1
  594. package/hedhog/frontend/src/app/(app)/(libraries)/operations/timesheets/page.js +0 -1141
  595. package/hedhog/frontend/src/app/(app)/(libraries)/operations/timesheets/page.js.map +0 -1
  596. package/hedhog/frontend/src/app/(app)/(libraries)/operations/timesheets/page.tsx +0 -1705
@@ -1,939 +0,0 @@
1
- 'use client';
2
-
3
- import {
4
- EmptyState,
5
- Page,
6
- PaginationFooter,
7
- SearchBar,
8
- } from '@/components/entity-list';
9
- import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar';
10
- import { Button } from '@/components/ui/button';
11
- import { Card, CardContent } from '@/components/ui/card';
12
- import { KpiCardsGrid } from '@/components/ui/kpi-cards-grid';
13
- import {
14
- Sheet,
15
- SheetContent,
16
- SheetDescription,
17
- SheetHeader,
18
- SheetTitle,
19
- } from '@/components/ui/sheet';
20
- import {
21
- Table,
22
- TableBody,
23
- TableCell,
24
- TableHead,
25
- TableHeader,
26
- TableRow,
27
- } from '@/components/ui/table';
28
- import { ToggleGroup, ToggleGroupItem } from '@/components/ui/toggle-group';
29
- import {
30
- Tooltip,
31
- TooltipContent,
32
- TooltipProvider,
33
- TooltipTrigger,
34
- } from '@/components/ui/tooltip';
35
- import { useApp, useQuery } from '@hed-hog/next-app-provider';
36
- import {
37
- CalendarDays,
38
- FileText,
39
- Info,
40
- LayoutGrid,
41
- List,
42
- Pencil,
43
- Power,
44
- TrendingUp,
45
- UserCheck,
46
- UserRound,
47
- Users,
48
- Wallet,
49
- } from 'lucide-react';
50
- import { useTranslations } from 'next-intl';
51
- import Link from 'next/link';
52
- import { usePathname, useRouter, useSearchParams } from 'next/navigation';
53
- import { useMemo, useState } from 'react';
54
- import { CollaboratorFormScreen } from '../_components/collaborator-form-screen';
55
- import { OperationsHeader } from '../_components/operations-header';
56
- import { StatusBadge } from '../_components/status-badge';
57
- import { fetchOperations, mutateOperations } from '../_lib/api';
58
- import { useOperationsAccess } from '../_lib/hooks/use-operations-access';
59
- import type {
60
- OperationsCollaborator,
61
- OperationsCollaboratorStats,
62
- OperationsCollaboratorType,
63
- PaginatedResponse,
64
- } from '../_lib/types';
65
- import {
66
- formatCurrency,
67
- formatDate,
68
- formatEnumLabel,
69
- formatHours,
70
- getStatusBadgeClass,
71
- } from '../_lib/utils/format';
72
-
73
- const COLLABORATOR_VIEW_STORAGE_KEY = 'operations-collaborators-view-mode';
74
-
75
- type CollaboratorViewMode = 'table' | 'cards';
76
-
77
- function getPersonAvatarUrl(avatarId?: number | null) {
78
- return typeof avatarId === 'number' && avatarId > 0
79
- ? `${process.env.NEXT_PUBLIC_API_BASE_URL}/person/avatar/${avatarId}`
80
- : '/placeholder.png';
81
- }
82
-
83
- function getInitials(value?: string | null) {
84
- const parts = String(value ?? '')
85
- .trim()
86
- .split(/\s+/)
87
- .filter(Boolean)
88
- .slice(0, 2);
89
-
90
- if (!parts.length) {
91
- return '??';
92
- }
93
-
94
- return parts.map((part) => part[0]?.toUpperCase() ?? '').join('');
95
- }
96
-
97
- export default function OperationsCollaboratorsPage() {
98
- const t = useTranslations('operations.CollaboratorsPage');
99
- const formT = useTranslations('operations.CollaboratorFormPage');
100
- const commonT = useTranslations('operations.Common');
101
- const { request, showToastHandler, currentLocaleCode, getSettingValue } =
102
- useApp();
103
- const access = useOperationsAccess();
104
- const router = useRouter();
105
- const pathname = usePathname();
106
- const searchParams = useSearchParams();
107
- const [search, setSearch] = useState('');
108
- const [statusFilter, setStatusFilter] = useState('all');
109
- const [typeFilter, setTypeFilter] = useState('all');
110
- const [page, setPage] = useState(1);
111
- const [pageSize, setPageSize] = useState(12);
112
- const [viewMode, setViewMode] = useState<CollaboratorViewMode>(() => {
113
- if (typeof window === 'undefined') {
114
- return 'table';
115
- }
116
-
117
- const savedViewMode = window.localStorage.getItem(
118
- COLLABORATOR_VIEW_STORAGE_KEY
119
- );
120
-
121
- return savedViewMode === 'cards' ? 'cards' : 'table';
122
- });
123
- const [isCreateSheetOpen, setIsCreateSheetOpen] = useState(false);
124
-
125
- const editParam = searchParams.get('edit');
126
- const editingCollaboratorId =
127
- editParam && /^\d+$/.test(editParam) ? Number(editParam) : null;
128
-
129
- const updateSheetQuery = (collaboratorId?: number | null) => {
130
- const params = new URLSearchParams(searchParams.toString());
131
-
132
- if (collaboratorId && collaboratorId > 0) {
133
- params.set('edit', String(collaboratorId));
134
- } else {
135
- params.delete('edit');
136
- }
137
-
138
- const nextUrl = params.size ? `${pathname}?${params.toString()}` : pathname;
139
- router.replace(nextUrl, { scroll: false });
140
- };
141
-
142
- const openCreateSheet = () => {
143
- setIsCreateSheetOpen(true);
144
- updateSheetQuery(null);
145
- };
146
-
147
- const openEditSheet = (collaboratorId: number) => {
148
- setIsCreateSheetOpen(false);
149
- updateSheetQuery(collaboratorId);
150
- };
151
-
152
- const closeFormSheet = () => {
153
- setIsCreateSheetOpen(false);
154
-
155
- if (editingCollaboratorId !== null) {
156
- updateSheetQuery(null);
157
- }
158
- };
159
-
160
- const getStatusLabel = (value?: string | null) => {
161
- switch (value) {
162
- case 'active':
163
- return formT('options.statuses.active');
164
- case 'on_leave':
165
- return formT('options.statuses.on_leave');
166
- case 'inactive':
167
- return formT('options.statuses.inactive');
168
- case 'draft':
169
- return formT('options.statuses.draft');
170
- default:
171
- return formatEnumLabel(value);
172
- }
173
- };
174
-
175
- const { data: collaboratorsResponse, refetch } = useQuery<
176
- PaginatedResponse<OperationsCollaborator>
177
- >({
178
- queryKey: [
179
- 'operations-collaborators-list',
180
- currentLocaleCode,
181
- search,
182
- statusFilter,
183
- typeFilter,
184
- page,
185
- pageSize,
186
- ],
187
- enabled: access.isCollaborator,
188
- queryFn: () => {
189
- const params = new URLSearchParams({
190
- page: String(page),
191
- pageSize: String(pageSize),
192
- });
193
-
194
- if (search.trim()) {
195
- params.set('search', search.trim());
196
- }
197
-
198
- if (statusFilter !== 'all') {
199
- params.set('status', statusFilter);
200
- }
201
-
202
- if (typeFilter !== 'all') {
203
- params.set('collaboratorType', typeFilter);
204
- }
205
-
206
- return fetchOperations<PaginatedResponse<OperationsCollaborator>>(
207
- request,
208
- `/operations/collaborators?${params.toString()}`
209
- );
210
- },
211
- placeholderData: (previous) => previous,
212
- });
213
-
214
- const { data: collaboratorTypes = [] } = useQuery<
215
- OperationsCollaboratorType[]
216
- >({
217
- queryKey: ['operations-collaborator-types-list', currentLocaleCode],
218
- enabled: access.isCollaborator,
219
- queryFn: () =>
220
- fetchOperations<OperationsCollaboratorType[]>(
221
- request,
222
- '/operations/collaborator-types?active=true'
223
- ),
224
- });
225
-
226
- const { data: collaboratorStats } = useQuery<OperationsCollaboratorStats>({
227
- queryKey: [
228
- 'operations-collaborators-stats',
229
- currentLocaleCode,
230
- search,
231
- statusFilter,
232
- typeFilter,
233
- ],
234
- enabled: access.isCollaborator,
235
- queryFn: () => {
236
- const params = new URLSearchParams();
237
-
238
- if (search.trim()) {
239
- params.set('search', search.trim());
240
- }
241
-
242
- if (statusFilter !== 'all') {
243
- params.set('status', statusFilter);
244
- }
245
-
246
- if (typeFilter !== 'all') {
247
- params.set('collaboratorType', typeFilter);
248
- }
249
-
250
- const query = params.toString();
251
-
252
- return fetchOperations<OperationsCollaboratorStats>(
253
- request,
254
- query
255
- ? `/operations/collaborators/stats?${query}`
256
- : '/operations/collaborators/stats'
257
- );
258
- },
259
- });
260
-
261
- const getCollaboratorTypeLabel = (
262
- slug?: string | null,
263
- fallbackName?: string | null
264
- ) => {
265
- if (fallbackName) {
266
- return fallbackName;
267
- }
268
-
269
- const matchedType = collaboratorTypes.find((item) => item.slug === slug);
270
- return matchedType?.name ?? formatEnumLabel(slug);
271
- };
272
-
273
- const collaborators = collaboratorsResponse?.data ?? [];
274
- const filteredRows = collaborators;
275
-
276
- const statsCards = useMemo(() => {
277
- const withTooltip = (description: string, tooltip: string) => (
278
- <TooltipProvider>
279
- <Tooltip>
280
- <TooltipTrigger asChild>
281
- <span className="inline-flex cursor-default items-center gap-1">
282
- {description}
283
- <Info className="h-3 w-3 shrink-0 text-muted-foreground/60" />
284
- </span>
285
- </TooltipTrigger>
286
- <TooltipContent side="bottom" className="max-w-64 text-xs">
287
- {tooltip}
288
- </TooltipContent>
289
- </Tooltip>
290
- </TooltipProvider>
291
- );
292
-
293
- return [
294
- {
295
- key: 'total',
296
- title: t('cards.total'),
297
- description: withTooltip(
298
- t('cards.totalDescription'),
299
- t('cards.totalTooltip')
300
- ),
301
- value: collaboratorStats?.total ?? 0,
302
- icon: Users,
303
- },
304
- {
305
- key: 'active',
306
- title: t('cards.active'),
307
- description: withTooltip(
308
- t('cards.activeDescription'),
309
- t('cards.activeTooltip')
310
- ),
311
- value: collaboratorStats?.active ?? 0,
312
- icon: UserCheck,
313
- },
314
- {
315
- key: 'onLeave',
316
- title: t('cards.onLeave'),
317
- description: withTooltip(
318
- t('cards.onLeaveDescription'),
319
- t('cards.onLeaveTooltip')
320
- ),
321
- value: collaboratorStats?.onLeave ?? 0,
322
- icon: CalendarDays,
323
- },
324
- {
325
- key: 'withContracts',
326
- title: t('cards.withContracts'),
327
- description: withTooltip(
328
- t('cards.withContractsDescription'),
329
- t('cards.withContractsTooltip')
330
- ),
331
- value: collaboratorStats?.withContracts ?? 0,
332
- icon: FileText,
333
- },
334
- {
335
- key: 'totalSalary',
336
- title: t('cards.totalSalary'),
337
- description: withTooltip(
338
- t('cards.totalSalaryDescription'),
339
- t('cards.totalSalaryTooltip')
340
- ),
341
- value: formatCurrency(
342
- collaboratorStats?.totalSalary ?? 0,
343
- getSettingValue,
344
- currentLocaleCode
345
- ),
346
- icon: Wallet,
347
- accentClassName: 'from-emerald-500/20 via-green-500/10 to-transparent',
348
- iconContainerClassName:
349
- 'bg-emerald-500/10 text-emerald-700 dark:text-emerald-400',
350
- },
351
- {
352
- key: 'totalCosts',
353
- title: t('cards.totalCosts'),
354
- description: withTooltip(
355
- t('cards.totalCostsDescription'),
356
- t('cards.totalCostsTooltip')
357
- ),
358
- value: formatCurrency(
359
- collaboratorStats?.totalCosts ?? 0,
360
- getSettingValue,
361
- currentLocaleCode
362
- ),
363
- icon: TrendingUp,
364
- accentClassName: 'from-amber-500/20 via-yellow-500/10 to-transparent',
365
- iconContainerClassName:
366
- 'bg-amber-500/10 text-amber-700 dark:text-amber-400',
367
- },
368
- {
369
- key: 'avgSalaryPlusCosts',
370
- title: t('cards.avgSalaryPlusCosts'),
371
- description: withTooltip(
372
- t('cards.avgSalaryPlusCostsDescription'),
373
- t('cards.avgSalaryPlusCostsTooltip')
374
- ),
375
- value: formatCurrency(
376
- collaboratorStats?.avgSalaryPlusCosts ?? 0,
377
- getSettingValue,
378
- currentLocaleCode
379
- ),
380
- icon: Wallet,
381
- accentClassName: 'from-violet-500/20 via-purple-500/10 to-transparent',
382
- iconContainerClassName:
383
- 'bg-violet-500/10 text-violet-700 dark:text-violet-400',
384
- },
385
- {
386
- key: 'avgSalaryPlusCostsPerCollaborator',
387
- title: t('cards.avgSalaryPlusCostsPerCollaborator'),
388
- description: withTooltip(
389
- t('cards.avgSalaryPlusCostsPerCollaboratorDescription'),
390
- t('cards.avgSalaryPlusCostsPerCollaboratorTooltip')
391
- ),
392
- value: formatCurrency(
393
- collaboratorStats?.avgSalaryPlusCostsPerCollaborator ?? 0,
394
- getSettingValue,
395
- currentLocaleCode
396
- ),
397
- icon: TrendingUp,
398
- accentClassName: 'from-rose-500/20 via-pink-500/10 to-transparent',
399
- iconContainerClassName:
400
- 'bg-rose-500/10 text-rose-700 dark:text-rose-400',
401
- },
402
- ];
403
- }, [
404
- collaboratorStats,
405
- t,
406
- formatCurrency,
407
- getSettingValue,
408
- currentLocaleCode,
409
- ]);
410
-
411
- const handleViewModeChange = (value: string) => {
412
- if (value !== 'table' && value !== 'cards') {
413
- return;
414
- }
415
-
416
- setViewMode(value);
417
-
418
- if (typeof window !== 'undefined') {
419
- window.localStorage.setItem(COLLABORATOR_VIEW_STORAGE_KEY, value);
420
- }
421
- };
422
-
423
- const toggleStatus = async (collaborator: OperationsCollaborator) => {
424
- const nextStatus =
425
- collaborator.status === 'inactive' ? 'active' : 'inactive';
426
-
427
- try {
428
- await mutateOperations(
429
- request,
430
- `/operations/collaborators/${collaborator.id}`,
431
- 'PATCH',
432
- { status: nextStatus }
433
- );
434
- showToastHandler?.('success', t('messages.statusSuccess'));
435
- await refetch();
436
- } catch {
437
- showToastHandler?.('error', t('messages.statusError'));
438
- }
439
- };
440
-
441
- return (
442
- <Page>
443
- <OperationsHeader
444
- title={t('title')}
445
- description={t('description')}
446
- current={t('breadcrumb')}
447
- actions={
448
- access.isDirector ? (
449
- <div className="flex flex-wrap gap-2">
450
- <Button size="sm" onClick={openCreateSheet}>
451
- {commonT('actions.create')}
452
- </Button>
453
- </div>
454
- ) : undefined
455
- }
456
- />
457
-
458
- <KpiCardsGrid items={statsCards} columns={4} />
459
-
460
- <div className="flex min-w-0 flex-col gap-4 xl:flex-row xl:items-center">
461
- <div className="flex-1">
462
- <SearchBar
463
- searchQuery={search}
464
- onSearchChange={(value) => {
465
- setSearch(value);
466
- setPage(1);
467
- }}
468
- showSearchButton={false}
469
- debounceMs={500}
470
- placeholder={t('searchPlaceholder')}
471
- controls={[
472
- {
473
- id: 'type',
474
- type: 'select',
475
- value: typeFilter,
476
- onChange: (value) => {
477
- setTypeFilter(value);
478
- setPage(1);
479
- },
480
- placeholder: commonT('labels.collaboratorType'),
481
- options: [
482
- { value: 'all', label: commonT('filters.allTypes') },
483
- ...collaboratorTypes.map((item) => ({
484
- value: item.slug,
485
- label: item.name,
486
- })),
487
- ],
488
- },
489
- {
490
- id: 'status',
491
- type: 'select',
492
- value: statusFilter,
493
- onChange: (value) => {
494
- setStatusFilter(value);
495
- setPage(1);
496
- },
497
- placeholder: commonT('labels.status'),
498
- options: [
499
- { value: 'all', label: commonT('filters.allStatuses') },
500
- { value: 'active', label: getStatusLabel('active') },
501
- { value: 'on_leave', label: getStatusLabel('on_leave') },
502
- { value: 'inactive', label: getStatusLabel('inactive') },
503
- ],
504
- },
505
- ]}
506
- />
507
- </div>
508
-
509
- <div className="flex items-center justify-between gap-3 xl:justify-end">
510
- <span className="text-xs font-medium text-muted-foreground">
511
- {t('viewMode')}
512
- </span>
513
- <ToggleGroup
514
- type="single"
515
- value={viewMode}
516
- onValueChange={handleViewModeChange}
517
- variant="outline"
518
- size="sm"
519
- aria-label={t('viewMode')}
520
- >
521
- <ToggleGroupItem
522
- value="table"
523
- className="gap-1.5 px-2.5"
524
- aria-label={t('viewModeTable')}
525
- >
526
- <List className="h-4 w-4" />
527
- <span className="hidden sm:inline">{t('viewModeTable')}</span>
528
- </ToggleGroupItem>
529
- <ToggleGroupItem
530
- value="cards"
531
- className="gap-1.5 px-2.5"
532
- aria-label={t('viewModeCards')}
533
- >
534
- <LayoutGrid className="h-4 w-4" />
535
- <span className="hidden sm:inline">{t('viewModeCards')}</span>
536
- </ToggleGroupItem>
537
- </ToggleGroup>
538
- </div>
539
- </div>
540
-
541
- {filteredRows.length > 0 ? (
542
- viewMode === 'cards' ? (
543
- <div className="grid gap-4 md:grid-cols-2 2xl:grid-cols-3">
544
- {filteredRows.map((collaborator) => (
545
- <Card
546
- key={collaborator.id}
547
- className="cursor-pointer overflow-hidden border-border/60 py-0 shadow-sm transition-all hover:-translate-y-0.5 hover:shadow-md"
548
- onClick={() => openEditSheet(collaborator.id)}
549
- >
550
- <CardContent className="space-y-4 p-4">
551
- <div className="flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between">
552
- <div className="flex min-w-0 items-center gap-3">
553
- <Avatar className="h-12 w-12 border border-border/60 bg-muted">
554
- <AvatarImage
555
- src={getPersonAvatarUrl(collaborator.personAvatarId)}
556
- alt={collaborator.displayName}
557
- />
558
- <AvatarFallback className="bg-muted text-sm font-semibold text-foreground">
559
- {getInitials(collaborator.displayName)}
560
- </AvatarFallback>
561
- </Avatar>
562
- <div className="min-w-0">
563
- <div className="truncate font-semibold">
564
- {collaborator.displayName}
565
- </div>
566
- <div className="truncate text-xs text-muted-foreground">
567
- {[collaborator.code, collaborator.title]
568
- .filter(Boolean)
569
- .join(' • ') || commonT('labels.notAvailable')}
570
- </div>
571
- </div>
572
- </div>
573
- <StatusBadge
574
- label={getStatusLabel(collaborator.status)}
575
- className={getStatusBadgeClass(collaborator.status)}
576
- />
577
- </div>
578
-
579
- <div className="flex flex-wrap gap-2">
580
- <span className="inline-flex items-center rounded-full bg-primary/10 px-2.5 py-1 text-xs font-medium text-primary">
581
- {getCollaboratorTypeLabel(
582
- collaborator.collaboratorTypeSlug ??
583
- collaborator.collaboratorType,
584
- collaborator.collaboratorTypeName
585
- )}
586
- </span>
587
- {collaborator.department ? (
588
- <span className="inline-flex items-center rounded-full bg-muted px-2.5 py-1 text-xs font-medium text-muted-foreground">
589
- {collaborator.department}
590
- </span>
591
- ) : null}
592
- </div>
593
-
594
- <div className="grid gap-2 text-sm text-muted-foreground lg:grid-cols-2">
595
- <div>
596
- <span className="font-medium text-foreground">
597
- {commonT('labels.supervisor')}:
598
- </span>{' '}
599
- {collaborator.supervisorName ||
600
- commonT('labels.notAssigned')}
601
- </div>
602
- <div>
603
- <span className="font-medium text-foreground">
604
- {commonT('labels.weeklyCapacity')}:
605
- </span>{' '}
606
- {formatHours(collaborator.weeklyCapacityHours)}
607
- </div>
608
- <div>
609
- <span className="font-medium text-foreground">
610
- {formT('fields.compensationAmount')}:
611
- </span>{' '}
612
- {collaborator.compensationAmount != null
613
- ? formatCurrency(
614
- Number(collaborator.compensationAmount),
615
- getSettingValue,
616
- currentLocaleCode
617
- )
618
- : commonT('labels.notAvailable')}
619
- </div>
620
- <div>
621
- <span className="font-medium text-foreground">
622
- {commonT('labels.startDate')}:
623
- </span>{' '}
624
- {formatDate(
625
- collaborator.joinedAt,
626
- getSettingValue,
627
- currentLocaleCode
628
- )}
629
- </div>
630
- </div>
631
-
632
- {collaborator.contractStatus ? (
633
- <div className="flex items-center gap-2 text-xs text-muted-foreground">
634
- <span className="font-medium text-foreground">
635
- {commonT('labels.contractStatus')}:
636
- </span>
637
- <StatusBadge
638
- label={getStatusLabel(collaborator.contractStatus)}
639
- className={getStatusBadgeClass(
640
- collaborator.contractStatus
641
- )}
642
- />
643
- </div>
644
- ) : null}
645
-
646
- <div className="flex items-center justify-end gap-1.5 border-t border-border/60 pt-3">
647
- {access.isDirector ? (
648
- <Button
649
- variant="outline"
650
- size="icon"
651
- onClick={() => openEditSheet(collaborator.id)}
652
- >
653
- <Pencil className="size-4" />
654
- </Button>
655
- ) : null}
656
- <Button
657
- variant="outline"
658
- size="icon"
659
- asChild={Boolean(collaborator.contractId)}
660
- disabled={!collaborator.contractId}
661
- >
662
- {collaborator.contractId ? (
663
- <Link
664
- href={`/operations/contracts?edit=${collaborator.contractId}`}
665
- >
666
- <FileText className="size-4" />
667
- </Link>
668
- ) : (
669
- <span>
670
- <FileText className="size-4" />
671
- </span>
672
- )}
673
- </Button>
674
- {access.isDirector ? (
675
- <Button
676
- variant="outline"
677
- size="icon"
678
- onClick={() => void toggleStatus(collaborator)}
679
- title={
680
- collaborator.status === 'inactive'
681
- ? commonT('actions.activate')
682
- : commonT('actions.deactivate')
683
- }
684
- >
685
- <Power className="size-4" />
686
- </Button>
687
- ) : null}
688
- </div>
689
- </CardContent>
690
- </Card>
691
- ))}
692
- </div>
693
- ) : (
694
- <div className="overflow-hidden rounded-xl border bg-card shadow-sm">
695
- <Table className="table-fixed">
696
- <TableHeader>
697
- <TableRow>
698
- <TableHead className="w-[34%]">
699
- {commonT('labels.collaborator')}
700
- </TableHead>
701
- <TableHead className="hidden md:table-cell">
702
- {commonT('labels.collaboratorType')}
703
- </TableHead>
704
- <TableHead className="hidden sm:table-cell">
705
- {commonT('labels.title')}
706
- </TableHead>
707
- <TableHead>{commonT('labels.status')}</TableHead>
708
- <TableHead className="hidden lg:table-cell">
709
- {commonT('labels.supervisor')}
710
- </TableHead>
711
- <TableHead className="hidden xl:table-cell">
712
- {commonT('labels.weeklyCapacity')}
713
- </TableHead>
714
- <TableHead className="hidden 2xl:table-cell">
715
- {formT('fields.compensationAmount')}
716
- </TableHead>
717
- <TableHead className="hidden xl:table-cell">
718
- {commonT('labels.startDate')}
719
- </TableHead>
720
- <TableHead className="w-30 text-right sm:w-42.5">
721
- {commonT('labels.actions')}
722
- </TableHead>
723
- </TableRow>
724
- </TableHeader>
725
- <TableBody>
726
- {filteredRows.map((collaborator) => (
727
- <TableRow
728
- key={collaborator.id}
729
- className="cursor-pointer hover:bg-muted/30"
730
- onClick={() => openEditSheet(collaborator.id)}
731
- >
732
- <TableCell>
733
- <div className="flex items-center gap-3">
734
- <Avatar className="h-9 w-9 border border-border/60 bg-muted">
735
- <AvatarImage
736
- src={getPersonAvatarUrl(
737
- collaborator.personAvatarId
738
- )}
739
- alt={collaborator.displayName}
740
- />
741
- <AvatarFallback className="bg-muted text-xs font-semibold text-foreground">
742
- {getInitials(collaborator.displayName)}
743
- </AvatarFallback>
744
- </Avatar>
745
- <div className="min-w-0">
746
- <div className="truncate font-medium">
747
- {collaborator.displayName}
748
- </div>
749
- <div className="truncate text-xs text-muted-foreground">
750
- {[collaborator.code, collaborator.department]
751
- .filter(Boolean)
752
- .join(' • ') ||
753
- collaborator.title ||
754
- commonT('labels.notAvailable')}
755
- </div>
756
- <div className="mt-1 flex flex-wrap gap-x-3 gap-y-1 text-[11px] text-muted-foreground lg:hidden">
757
- <span>
758
- <span className="font-medium text-foreground/80">
759
- {commonT('labels.supervisor')}:
760
- </span>{' '}
761
- {collaborator.supervisorName ||
762
- commonT('labels.notAssigned')}
763
- </span>
764
- <span>
765
- <span className="font-medium text-foreground/80">
766
- {commonT('labels.weeklyCapacity')}:
767
- </span>{' '}
768
- {formatHours(collaborator.weeklyCapacityHours)}
769
- </span>
770
- <span>
771
- <span className="font-medium text-foreground/80">
772
- {commonT('labels.startDate')}:
773
- </span>{' '}
774
- {formatDate(
775
- collaborator.joinedAt,
776
- getSettingValue,
777
- currentLocaleCode
778
- )}
779
- </span>
780
- </div>
781
- </div>
782
- </div>
783
- </TableCell>
784
- <TableCell className="hidden md:table-cell">
785
- {getCollaboratorTypeLabel(
786
- collaborator.collaboratorTypeSlug ??
787
- collaborator.collaboratorType,
788
- collaborator.collaboratorTypeName
789
- )}
790
- </TableCell>
791
- <TableCell className="hidden max-w-55 sm:table-cell">
792
- <div className="truncate">
793
- {[collaborator.department, collaborator.title]
794
- .filter(Boolean)
795
- .join(' • ') || commonT('labels.notAvailable')}
796
- </div>
797
- </TableCell>
798
- <TableCell>
799
- <StatusBadge
800
- label={getStatusLabel(collaborator.status)}
801
- className={getStatusBadgeClass(collaborator.status)}
802
- />
803
- </TableCell>
804
- <TableCell className="hidden lg:table-cell">
805
- <div className="truncate">
806
- {collaborator.supervisorName ||
807
- commonT('labels.notAssigned')}
808
- </div>
809
- </TableCell>
810
- <TableCell className="hidden xl:table-cell">
811
- {formatHours(collaborator.weeklyCapacityHours)}
812
- </TableCell>
813
- <TableCell className="hidden 2xl:table-cell">
814
- {collaborator.compensationAmount != null
815
- ? formatCurrency(
816
- Number(collaborator.compensationAmount),
817
- getSettingValue,
818
- currentLocaleCode
819
- )
820
- : commonT('labels.notAvailable')}
821
- </TableCell>
822
- <TableCell className="hidden xl:table-cell">
823
- {formatDate(
824
- collaborator.joinedAt,
825
- getSettingValue,
826
- currentLocaleCode
827
- )}
828
- </TableCell>
829
- <TableCell>
830
- <div className="flex items-center justify-end gap-1.5">
831
- {access.isDirector ? (
832
- <Button
833
- variant="outline"
834
- size="icon"
835
- onClick={() => openEditSheet(collaborator.id)}
836
- >
837
- <Pencil className="size-4" />
838
- </Button>
839
- ) : null}
840
- <Button
841
- variant="outline"
842
- size="icon"
843
- asChild={Boolean(collaborator.contractId)}
844
- disabled={!collaborator.contractId}
845
- >
846
- {collaborator.contractId ? (
847
- <Link
848
- href={`/operations/contracts?edit=${collaborator.contractId}`}
849
- >
850
- <FileText className="size-4" />
851
- </Link>
852
- ) : (
853
- <span>
854
- <FileText className="size-4" />
855
- </span>
856
- )}
857
- </Button>
858
- {access.isDirector ? (
859
- <Button
860
- variant="outline"
861
- size="icon"
862
- onClick={() => void toggleStatus(collaborator)}
863
- title={
864
- collaborator.status === 'inactive'
865
- ? commonT('actions.activate')
866
- : commonT('actions.deactivate')
867
- }
868
- >
869
- <Power className="size-4" />
870
- </Button>
871
- ) : null}
872
- </div>
873
- </TableCell>
874
- </TableRow>
875
- ))}
876
- </TableBody>
877
- </Table>
878
- </div>
879
- )
880
- ) : (
881
- <EmptyState
882
- icon={<UserRound className="size-12" />}
883
- title={commonT('states.emptyTitle')}
884
- description={t('emptyDescription')}
885
- actionLabel={
886
- access.isDirector
887
- ? commonT('actions.create')
888
- : commonT('actions.refresh')
889
- }
890
- onAction={access.isDirector ? openCreateSheet : () => void refetch()}
891
- />
892
- )}
893
-
894
- <PaginationFooter
895
- currentPage={collaboratorsResponse?.page ?? page}
896
- pageSize={collaboratorsResponse?.pageSize ?? pageSize}
897
- totalItems={collaboratorsResponse?.total ?? 0}
898
- onPageChange={setPage}
899
- onPageSizeChange={(value) => {
900
- setPageSize(value);
901
- setPage(1);
902
- }}
903
- pageSizeOptions={[12, 24, 48]}
904
- />
905
-
906
- <Sheet
907
- open={isCreateSheetOpen || editingCollaboratorId !== null}
908
- onOpenChange={(open) => {
909
- if (!open) {
910
- closeFormSheet();
911
- }
912
- }}
913
- >
914
- <SheetContent className="w-full overflow-y-auto sm:max-w-6xl">
915
- <SheetHeader>
916
- <SheetTitle>
917
- {editingCollaboratorId
918
- ? t('sheet.editTitle')
919
- : t('sheet.createTitle')}
920
- </SheetTitle>
921
- <SheetDescription>{t('sheet.description')}</SheetDescription>
922
- </SheetHeader>
923
-
924
- <CollaboratorFormScreen
925
- key={
926
- editingCollaboratorId ? `edit-${editingCollaboratorId}` : 'create'
927
- }
928
- collaboratorId={editingCollaboratorId ?? undefined}
929
- onCancel={closeFormSheet}
930
- onSaved={async () => {
931
- closeFormSheet();
932
- await refetch();
933
- }}
934
- />
935
- </SheetContent>
936
- </Sheet>
937
- </Page>
938
- );
939
- }